标题: CRC校验算法 C程序 附PC端CRC计算工具下载 [打印本页]

作者: 18298012157    时间: 2017-9-21 19:27
标题: CRC校验算法 C程序 附PC端CRC计算工具下载
通信CRC校验是必须的,为了降低通信长度,采用了CRC8校验算法。
算法顺利通过了测试,附有源程序,共享出来给大家用啊



源程序如下:
  1. /* 函数名: cal_crc8_07
  2. * 参数[in]: len 待校验数据长度
  3. * 参数[in]: ptr 待校验数组数据首地址
  4. * 返回值[out] : 返回ptr为首地址数据长度为len的 CRC8的检验码(多项式为 07)
  5. */
  6. unsigned char cal_crc8_07(unsigned char len , unsigned char *ptr)
  7. {
  8.         unsigned char i;
  9.         unsigned char crc=0;
  10.         while(len--!=0)
  11.         {
  12.                 for(i=0x80; i!=0; i=i>>1)
  13.                 {
  14.                         if((crc&0x80)!=0)
  15.                         {
  16.                                 /* 余式CRC乘以2再求 CRC */
  17.                                 crc*=2;
  18.                                 crc^=0x07;
  19.                         }
  20.                         else
  21.                         {
  22.                                 crc*=2;
  23.                         }

  24.                         if((*ptr&i)!=0)
  25.                                 crc^=0x07; /* 再加上本位 CRC */
  26.                 }
  27.                 ptr++;
  28.         }
  29.         return(crc);
  30. }
复制代码

所有资料51hei提供下载:
CRC8校验方法.zip (5.76 MB, 下载次数: 22)



作者: 18298012157    时间: 2017-9-21 19:29
实用工具,实用算法




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1