但是CRC16只取低16位,写成16进制数就是 0x1021 CRC16的算法原理: 根据CRC16的标准选择初值CRCIn的值。 将数据的第一个字节与CRCIn高8位异或。 判断最高位,若该位为 0 左移一位,若为 1 左移一位再与多项式Hex码异或。 重复3直至8位全部移位计算结束。 重复将所有输入数据操作完成以上步骤,所得16位数即1...
u8 uchCRCHi = 0xFF ; u8 uchCRCLo = 0xFF ; u32 uIndex ; while (usDataLen--) { uIndex = uchCRCHi ^ *puchMsg++ ; uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex] ; uchCRCLo = auchCRCLo[uIndex] ; } return (uchCRCHi << 8 | uchCRCLo) ; }//uint16 crc16(uint8 *puchMs...
字节数组计算生成CRC检验码 完全使用C语言编写,可以很方便的移植到MCU平台做数据通信的校验码生成。