是一共项目涉及到BLE传输数据以及Flash存储数据的场景,被存储或传输的数据是一个结构体,需要对其做CRC效验.
效验的方式利用了CRC计算时在被计算的数据后方补上CRC结果,并对这个数据+结果作为一个整体再次做CRC会导致的CRC的结果为0的特性来实现的.
CRC的实现代码参考:记录一个自己用CRC效验的场景(分段计算)
示例代码:
int main()
{
unsigned char test[8]={0xff,0xff,0xff,0xff,0xff,0x12,0x26,0xbe};
printf("soft_crc32_1:%x\r\n",soft_crc32(test,4,0xFFFF));
printf("soft_crc32_2:%x\r\n",soft_crc32(test,8,0xFFFF));
return(0);
}
运行结果:
Comments | NOTHING