tanxia
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 16 個
工控威望: 149 點
下載積分: 611 分
在線時間: 137(小時)
注冊時間: 2010-03-04
最后登錄: 2012-07-11
查看tanxia的 主題 / 回貼
樓主  發(fā)表于: 2010-04-07 21:48
最近在做三菱FX2N與歐母龍變頻器的通信,遇到一個問題,就是看不明白歐母龍變頻器通信格式中的異常檢查-CRC-16要如何計算,請各位幫幫忙
meiyouleya
天黑路滑,社會復雜。!
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 385 個
工控威望: 422 點
下載積分: 1377 分
在線時間: 119(小時)
注冊時間: 2006-11-01
最后登錄: 2021-08-13
查看meiyouleya的 主題 / 回貼
1樓  發(fā)表于: 2010-04-07 23:46
說明:CRC循環(huán)冗余錯誤校驗計算方法  
  CRC—16(循環(huán)冗余錯誤校驗)生成CRC—16校驗字節(jié)的步驟如下:  
  (1)裝入一個16位寄存器,所有數(shù)位均為1。  
  (2)該16位寄存器的高位字節(jié)與開始8位字節(jié)進行“異或”運算。運算結果放入這個16位寄存器。  
  (3)把這個16位寄存器向右移1位。  
  (4a)若向右(標記位)移出的數(shù)位是1,則生成多項式1010000000000001和這個寄存器進行“異或”運算。  
  (4b)若向右移出的數(shù)位是0,則返回(3)。  
  (5)重復(3)和(4),直至移出8位。  
  (6)另外8位與該16位寄存器進行“異或”運算。  
  (7)重復(3)—(6),直至該報文所有字節(jié)均與16位寄存器進行“異或”運算,并移位8次。  
  (8)這個16位寄存器的內(nèi)容即2字節(jié)CRC錯誤校驗
如果還是不明白可以在網(wǎng)上下載一個例子程序看下。