找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2471|回复: 1
打印 上一主题 下一主题
收起左侧

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)


评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:165364 发表于 2017-9-21 19:29 | 只看该作者
实用工具,实用算法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表