Modbus CRC16計算方式

1.預置一個16位元變數暫存器為十六進位FFFF(即全為1)。稱此為CRC之暫存器。
2.把第一個8位元組與16位CRC暫存器之較低位元組做互斥或運算,把結果置於CRC暫存器內。
3.把CRC暫存器的內容右移一位元(朝低位),用0填補最高位元,再檢查最低位元。
4.如果最低位元為0:重複第3步驟 (再次位移)
5.如果最低位元為1:CRC暫存器與多項式A001 (1010 0000 0000 0001) 做互斥或運算。
6.重複步驟3和4,直到右移8次為止,將全部8位數位元組全部進行處理。
7.重複步驟2到步驟5,進行下一個8位數位元組的處理。
8.最後得到的CRC暫存器即為CRC碼。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料