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

YoYo语音开黑软件下载-YoYo语音聊天软件3.1.2 手机版
霜之降临1.26地图下载-霜之降临1.26正式版【附攻略】
贝贝时刻表查询列车下载-贝贝时刻表app1.0.0 手机免费版
店铺分析软件-黑谍店铺分析软件(淘宝店铺营业状况分析软件)v2.11.5 绿色特别版
宅客成长app-宅客成长(宅客家庭智能成长套件手机客户端)1.0.4 免费版
命运之刃争霸天下3.3.18 安卓版
鱼贝金服app下载-鱼贝金服app2.3.3 官方版
简易浏览和旋转图像(JPEG Lossless Rotator)V6.5 多国语言绿色免费版
八分音符跳跃火柴人游戏下载-八分音符跳跃火柴人5.0.1 安卓版
极简计划下载-极简计划管理系统2.19.5 手机版
维极定制app下载-维极定制app2.0.0 手机版
搜狗输入法皮肤下载-搜狗输入法皮肤之青涩恋情v1.0 绿色免费版
iOrgSoft Video Converter视频转换器6.0.0 最新版
权倾三国暗金版2.3.2最新版
益康屋app1.0.4 安卓版
耐材名录app-耐材名录安卓版1.20.2 在线免费查询
四川税务app官方下载最新-四川税务app1.24.0 安卓版
爱家金钥匙app下载-爱家金钥匙app4.4.7 官网安卓版
拜乐农app下载-拜乐农最新版1.7.3 安卓版
橙子待办app下载安装-橙子待办1.3 手机版