Modbus協(xié)議中的CRC-16校驗方法
CRC-16是一個16-bit 二進制數,計算CRC-16步驟如下:
1、先設定CRC寄存器為0FFFFH。
2、將CRC 寄存器的低字節(jié)與信息中第一個字節(jié)作XOR,并將結果傳回CRC 寄存器的低字節(jié)。
3、 CRC 寄存器右移一位,最高位填入0。
4、如果移出位是0,重復步驟3。如果移出位是1,則CRC寄存器與 A001H作XOR。
5、重復步驟3及4直到已經右移8位為止。
6、對信息的下一個字節(jié),重復步驟2至5,直到信息中的所有字節(jié)都處理完。
7、此時CRC 寄存器中的值,即為CRC-16 data。
在傳送CRC-16校驗值時,先傳送低字節(jié)的校驗值,再傳送高字節(jié)的校驗值。