我正在尝试执行一个函数来计算CRC-8值,但是我得不到所需的结果。
该链是:123456789
结果应为:0xF4
我尝试过这个功能,但是我无法让它发挥作用:
unsigned char CRC8(const unsigned char *data, unsigned char len)
{
unsigned char crc = 0x00;
while (len--)
{
unsigned char extract = *data++;
for (unsigned char tempI = 8; tempI; tempI--)
{
unsigned char sum = (crc ^ extract) & 0x01;
crc >>= 1;
if (sum)
{
crc ^= 0x8C;
}
extract >>= 1;
}
}
return crc;
}