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

星辰日历软件1.0.1.0免费版
Nvidia英伟达官方app下载-NVIDIA App11.0.1.163 电脑版
水果忍者黑夜版下载-水果忍者黑夜版(Fruit Ninja Crazy Merged Zamasu)
三星ROM下载器Frija下载-frija三星固件下载器v1.3.0最新版
耳恋语音app下载-耳恋语音1.2.0最新版
微店app下载-微店app7.2.3 最新版
遇见你的猫官方下载-遇见你的猫最新版2.6.0 正版
嘟嘟Car苹果版下载-嘟嘟Car(甘肃智慧停车软件)1.26 官方ios版
我的使命vivo版本下载-我的使命vivo客户端7.4.7 最新版
资源搜索工具-小精灵资源搜索工具v1.0 绿色免费版
17G911图集下载-17G911钢结构施工安全防护图集pdf高清版
赛迪智慧停车app1.0手机ios版
ePage可视化网页开发工具下载-ePage可视化网页开发工具1.03 官方版
逆势天下官方版1.0 手机游戏
御灵之主手游下载-御灵之主手游1.0.1 安卓最新版
2015版二级建造师考试宝典(公路工程)11.0 绿色免费版
翻译盒子app下载-Translation(翻译盒子app)1.0安卓专业版
来点菜app下载-来点菜平台1.9 安卓版
山海创世录官方版30.3021.1 安卓版
迈特凯幸存者下载-迈特凯幸存者游戏1.0 M木糖M自制