Modbus协议中的CRC-16校验方法
CRC-16是一个16-bit 二进制数,计算CRC-16步骤如下:
1、先设定CRC寄存器为0FFFFH。
2、将CRC 寄存器的低字节与信息中第一个字节作XOR,并将结果传回CRC 寄存器的低字节。
3、 CRC 寄存器右移一位,最高位填入0。
4、如果移出位是0,重复步骤3。如果移出位是1,则CRC寄存器与 A001H作XOR。
5、重复步骤3及4直到已经右移8位为止。
6、对信息的下一个字节,重复步骤2至5,直到信息中的所有字节都处理完。
7、此时CRC 寄存器中的值,即为CRC-16 data。
在传送CRC-16校验值时,先传送低字节的校验值,再传送高字节的校验值。