打印

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

[复制链接]
451|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
追光少年|  楼主 | 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

粉丝