网上在线CRC计算平台1:https://crccalc.com/
网上在线CRC计算平台2:http://www.ip33.com/crc.html
本文参考文章:https://blog.csdn.net/zzz1014440164/article/details/78560997
详细说明文章:https://blog.csdn.net/zjli321/article/details/52998468
其实直接使用第一个文章中的程序,在8位单片机中运行结果是错误的
一下是我修改过的程序:
unsigned char CRC8Calculate(unsigned char *message ,unsigned char len)
{
unsigned char crc;
unsigned char i;
crc = 0;
while(len--)
{
crc ^= (*message++);
for(i = 0;i < 8;i++)
{
if(crc & 0x80)
{
crc = (crc << 1) ^ 0X07;
}
else crc <<= 1;
}
}
return crc;
}
程序由原来的位右移改为位左移
多项式我用的是 0x07 多项式可以看 网上在线CRC平台提供的tips