②把第一个8位数据与16位CRC寄存器的低位相异或运算,把结果放于CRC寄存器。
else
CRC=(CRC>>1)^0xA001;
{
CRC=CRC>>1; //
for(IY=0;IY<=7;IY++)
CRC=0;大客户经理个人简历-大客户经理个人简历模板word最新整理版
③把寄存器的内容右移一位,用0填补最高位,检查最低位。
CRC+=Rcvbuf[1];
}
else
{
CRC=0xFFFF;//setall1
for(IX=0;IX<=Len;IX++)
if(Len<=0)
{
Rcvbuf[0]=(CRC&0xff00)>>8;//高位置
CRC=CRC^(unsignedint)(Array[IX]);
Rcvbuf[1]=(CRC&0x00ff); //低位置
}
①预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器。
unsignedint IX,IY,CRC;
}
CRC=Rcvbuf[0]<<8;
}
{
unsignedshortcrc_16(unsignedchar*Array,unsignedchar*Rcvbuf,unsignedintLen)
if((CRC&1)!=0)
CRC-16(循环冗余错误校验)
⑧将CRC码分成高8位和低8位,按低位在先,高位在后,将它们加到传送数据之后。
计算CRC码的步骤为:
Len--;
④如果最低位为0:重复第3步,再次右移一位;如果最低位为1:CRC寄存器与多项式A001(1010000000000001)进行异或运算。
⑤重复步骤③和④,直到右移8次,这样整个8位数据全部进行了处理。
⑦最后得到的CRC寄存器的值即为CRC码。
冗余循环码(CRC)包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。
⑥重复步骤②到⑤,进行下个8位数据的处理。
在进行CRC码计算时只用8位数据位。起始位、停止位、奇偶校验位都不参与CRC码计算。
returnCRC;
直接法生成代码:
展开

上海个税查询2.1.1 本地版
大黄蜂车辆管理系统下载-大黄蜂车辆管理系统2.65 绿色版
12306分流抢票软件vip版下载-12306分流抢票2018vip破解版1.12.69 最新免费版
风云pdf转word下载-风云pdf转word转换器4.0 官方最新版
Ashampoo Photo Commander 15(图像管理工具)15.1.0 中文多语免费版
坦克世界盒子下载-多玩坦克世界盒子2.3.5.9 官方最新版
Dota卡尔改键器-召唤师改键工具(KaelKey)2.0 绿色免费版
即甜漂流瓶下载-即甜漂瓶App1.1.6 安卓版
易语言软件标题修改器源码-一键破解他人程序修改版权源码
千库网图片批量下载工具-千库网图片素材下载器1.0 绿色免费版
Everything(文件搜索工具)软件下载-Everything(文件搜索工具)32位1.4.1.867官方最新版
友录通讯录下载-友录通讯录(微博通讯录)2.0.2 官方免费版
sql2012标准版下载-sql2012标准版(SQL Server 2012 Standard Edition)简体中文版
SlySoft AnyDVD & AnyDVD HD v6.5.1.8 Final 官方中文免费版
域名查询工具(SmartWhois)V5.1.2834 特别版
星号密码查看器绿色版win7-魔力团队星号密码查看器1.2 绿色版
王牌战争文明重启下载安装-王牌战争文明重启最新版19.7 官方版
福建扶贫app下载-福建扶贫1.3.4 安卓版
奇思汇app下载-奇思汇安卓版0.3.12beta 最新版
AutoCAD Plant 3D 2011下载-AutoCAD Plant 3D 2011官方版49.0.7 【附安装教程】