金牌会员
 
- 积分
- 1043
- 金钱
- 1043
- 注册时间
- 2016-9-8
- 在线时间
- 213 小时
|
//CRC8校验函数
#define POLY 0xB2
u8 crc8_slow(u8 crc, u8 *data, size_t len)
{
u8 *end;
if(len == 0)
return crc;
crc ^= 0xff;
end = data + len;
do
{
crc ^= *data++;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
crc = crc & 1 ? (crc >> 1) ^ POLY : crc >> 1;
}while (data < end);
return crc ^ 0xff;
}
|
|