123456789ss
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 33 個
工控威望: 173 點
下載積分: 888 分
在線時間: 14(小時)
注冊時間: 2013-09-15
最后登錄: 2015-03-09
查看123456789ss的 主題 / 回貼
樓主  發(fā)表于: 2013-09-28 14:56
生成  CRC  的過程為:
1. 將一個  16 位寄存器(稱作  CRC 寄存器)初始賦值為十六進(jìn)制  FFFF (全 1);
2. 將報文的第一個字節(jié)( 8位)與 16 位 CRC 寄存器的低字節(jié)異或,結(jié)果置于 CRC 寄存器;
3. 將  CRC 寄存器右移 1位  (向  LSB 方向), MSB 充零,并檢測  LSB:
4. (如果 LSB 為  0): 重復(fù)步驟  3 (另一次移位).
  (如果 LSB 為 1): 對 CRC 寄存器異或多項式值  0xA001 (1010 0000 0000 0001).
5. 重復(fù)步驟  3 和 4,直到完成  8 次移位操作后,一個字節(jié)的處理完畢。
6. 對報文中的下一個字節(jié)重復(fù)步驟 2 到 5繼續(xù)此操作,直至所有報文被處理完畢。
7. CRC 寄存器中的最終值為 CRC 值.