CRC校验应用,求大神解释下流程原理,谢谢

[复制链接]
 楼主| 追光少年 发表于 2020-4-21 08:00 | 显示全部楼层 |阅读模式
使用MCU读取SD卡的.bin文件,将读取到的数据通过蓝牙串口发送到另一块蓝牙模块
因数据比较大,需要用到CRC校验,其中的流程原理是怎样的,求大神指导。


C现实代码:

unsigned char crc8_chk_value(unsigned char *message, unsigned char len)

{
   uint8 crc;
   uint8 i;
   crc = 0;
   while(len--)
     {
       crc ^= *message++;
       for(i = 0;i < 8;i++)
          {
           if(crc & 0x01)
            {
                crc = (crc >> 1) ^ 0x8c;
            }
            else crc >>= 1;
          }
     }

      return crc;
}
tianxj01 发表于 2020-4-21 08:48 | 显示全部楼层
你这个是典型的CRC8
CRC8右移=X8+X5+X4+1   100110001,倒着写一遍,放弃最后一位为10001100=0X8C
hotpower 发表于 2020-5-23 10:59 来自手机 | 显示全部楼层
www.hotcrc.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

379

主题

379

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部