123456789ss
级别: 探索解密
精华主题: 0
发帖数量: 33 个
工控威望: 173 点
下载积分: 888 分
在线时间: 14(小时)
注册时间: 2013-09-15
最后登录: 2015-03-09
查看123456789ss的 主题 / 回贴
楼主  发表于: 2013-09-28 14:56
生成  CRC  的过程为:
1. 将一个  16 位寄存器(称作  CRC 寄存器)初始赋值为十六进制  FFFF (全 1);
2. 将报文的第一个字节( 8位)与 16 位 CRC 寄存器的低字节异或,结果置于 CRC 寄存器;
3. 将  CRC 寄存器右移 1位  (向  LSB 方向), MSB 充零,并检测  LSB:
4. (如果 LSB 为  0): 重复步骤  3 (另一次移位).
  (如果 LSB 为 1): 对 CRC 寄存器异或多项式值  0xA001 (1010 0000 0000 0001).
5. 重复步骤  3 和 4,直到完成  8 次移位操作后,一个字节的处理完毕。
6. 对报文中的下一个字节重复步骤 2 到 5继续此操作,直至所有报文被处理完毕。
7. CRC 寄存器中的最终值为 CRC 值.
laoliao
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 174 点
下载积分: 1064 分
在线时间: 19(小时)
注册时间: 2012-11-06
最后登录: 2015-07-28
查看laoliao的 主题 / 回贴
1楼  发表于: 2013-09-28 16:02
进来学习学习的