u16 CRCCheck(u8 *buf,u16 count)
{
u16 crc = 0xFFFF;
u16 i,j;
for (i =0; i < count; i++)
{
crc=crc^buf[i];
for (j = 1; j <= 8; j++)
{
if ((crc & 0x0001) == 1)
{
crc = (uint16_t)(crc >> 1);
crc = (uint16_t)(crc ^ 0xA001);
}
else
{
crc = (uint16_t)(crc >> 1);
}
}
}
return crc;
}CRC校验 适用于modbus
最新推荐文章于 2024-09-21 06:00:00 发布
本文介绍了一种CRC16校验算法的具体实现过程。该算法通过输入缓冲区和计数来计算CRC16校验值。核心部分包括位运算、循环移位及异或操作,适用于确保数据完整性和验证。
1574

被折叠的 条评论
为什么被折叠?



