hal accumulate 只是计算前不会重置DR寄存器而已
|
人人学会单片机 发表于 2022-6-12 11:38 我是32位的crc校验,然后利用了库函数,每次指针偏移64个字节 |
devcang 发表于 2022-6-12 11:36 内容是相同的 每次指针偏移64个字节 |
//******************************************************************* //函数名: CRC8,最开始需要把DMX_CRC_Data清0 //作用: 生成DMX数据校验码 //多项式: CRC8(X8+X5+X4+1),正序是0x31(1 00110001),反序是0x8C(10001100 1) //******************************************************************* void CRC8(u8 chChar) { u8 i; DMX_CRC_Data = DMX_CRC_Data^chChar; //新传输的值异或 for (i=0;i<8;i++) //8 bit { if (DMX_CRC_Data&0x01) //反序异或,判断最低位是否为1 { DMX_CRC_Data=(DMX_CRC_Data>>1)^0x8C;//右移再异或 } else { DMX_CRC_Data>>=1; //位为0直接 往右移位 } } } |
校验相同的内容 |