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

超级球星手游下载-超级球星游戏0.0.8 安卓版
Petal输入法下载-petal输入法最新版本下载v1.0.15 中文
极品飞车12修改器-极品飞车12new修改器v1.0 绿色版
法信法律图书馆app-法信法律图书馆1.6.7 安卓最新版
,实况足球2014补丁下载-实况足球2014广州恒大八大虎将脸型包分享版
暴力飞车无限金币无限钻石版下载-暴力飞车手游1.0.7 卓版
章鱼快传安卓版下载-章鱼快传app1.0.4 最新版
乡村果蔬下载-乡村果蔬软件1.1.0 最新版
超级英雄交叉剑最新版下载-超级英雄交叉剑(Superheroes: Cross the Swords)手游1.03无敌版
狸窝avi视频转换器4.2.0.2特别版
古琴调音app下载-古琴调音4.1.8 安卓版
运达达专线app下载-运达达专线版1.10.0安卓版
资本家大冒险-资本家大冒险两项修改器08012015 MrAntiFun
TBF库存自动刷新器1.5中文专业版
班牛官方下载-班牛电商协同办公系统2.0 永久免费版
EasyWorship(演出媒体演示软件)7.1.2.0 最新版
荔枝FM下载-荔枝FMapp5.18.4 安卓版
弹力小球游戏1.0 最新手机版
客圈联盟app-客圈联盟购物软件1.0.1 手机版
MaxToC4D下载-MaxToC4D插件(3Ds MAX模型完全导入C4D)1.5 官网最新版