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

超强万能网盘资源搜索工具1.0 永久免费稳定版【持续更新】
淘宝网店装修案例-网店装修及宣传素材免费版【网店装修案例】
安卓android8.0开源系统下载-安卓android8.0开源系统1.0 官方最新版
老板键破解版-大拿万能老板键5.0 中文绿色版
体育馆逃出手游下载-体育馆脱出手游1.0安卓版
极品站长工具V1.65 绿色版
海贼无双3修改器-海贼无双3十七项修改器1.0 绿色版
Undertale 3dm汉化版下载-Undertale传说之下1.3简体中文硬盘版
卡bmw宝马24小时在线协议-天降BMW宝马在线协议最新电脑PC版
榆林一院ios版下载-榆林一院ios版1.3.8 苹果免费版
三角函数计算器1.1 绿色免费版
advance steel 2018附序列号破解版-Autodesk Advance Steel 2018 破解版附注册机
Therena ScreenPlo软件下载-Therena ScreenPlo多功能截图软件绿色免费版
HiDownloadV6.9x完美注册机
街道线滑板车手游下载-街道线滑板车1.06 安卓版
文本编码转换工具-TextTool文本编码一键转换工具1.1 绿色免费版
远程登录软件下载-远程登录软件(RealVNC Free Edition)V5.2.2 官方版
酷特简谱作曲家下载-酷特简谱作曲家软件9.05官方正式版
辐射4新的挎包MOD1.0 最新免费版
窗口透明软件-窗口透明工具(See Through Windows)1.0.6 Beta