16,472
社区成员
发帖
与我相关
我的任务
分享
//CRC8 多项式为 X8+X2+X1+1 = 1 00000111 = 0x07 ;use "<<" rev= 11100000 =0xE0 use ">>"
// 或者 X8+X5+X4+1 = 1 00110001 = 0x31 rev= 10001100 =0x8C
unsigned char CRC8(unsigned char *ptr,unsigned char len)
{
unsigned char crc;
unsigned char i;
crc = 0;
while(len--)
{
crc ^= *ptr++;
for(i = 0;i < 8;i++)
{
if(crc & 0x80) crc = (crc << 1) ^ 0x07;
else crc <<= 1;
}
}
return crc;
}