CRC校验(modbus)
代码说明:
/CRC16_MODBUS:多项式x16 x15 x5 1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0x0000异或unsigned short do_crc(unsigned char *ptr, int len) { unsigned int i; unsigned short crc = 0xFFFF; //crc16位寄存器初始值 while(len--) { crc ^= *ptr ; for (i = 0; i > 1) ^ 0xA001; //多项式 POLY(0x8005)的高低位交换值,这是由于其模型的一些参数决定的 else crc = (crc >> 1); } } return crc; }
下载说明:请别用迅雷下载,失败请重下,重下不扣分!