找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2779|回复: 1
收起左侧

CRC校验源码 VC2012实现

[复制链接]
ID:245701 发表于 2017-11-3 14:55 | 显示全部楼层 |阅读模式
CRC校验VC2012实现
0.png

源程序如下:
  1. #include<iostream>
  2. #include<stdint.h>
  3. using namespace std;

  4. unsigned int CrcValueCalc(unsigned char *data,unsigned int length)
  5. {
  6.         unsigned int crcValue=0xffff;
  7.         int i;
  8.         while(length--)
  9.         {
  10.                 crcValue^=*data++;
  11.                 for(i=8-1;i>=0;i--)
  12.                 {
  13.                         if(crcValue & 0x0001)
  14.                         {
  15.                                 crcValue=(crcValue>>1)^0xa001;
  16.                         }
  17.                         else
  18.                         {
  19.                                 crcValue=crcValue>>1;
  20.                         }
  21.                 }
  22.         }
  23.         return crcValue;
  24.         //printf("%d%d",crcValue);
  25. }

  26. void main()
  27. {
  28.         uint8_t  data[]={0x00,0x03,0x10,0x04,0x00,0x01};
  29.         //uint8_t  data[]={0x00,0x03,0x0A,0x04,0x00,0x01};
  30.         //uint8_t  data[]={0x00,0x03,0x10,0x04,0x00,0x04};
  31.         //uint8_t  data[]={0x00,0x03,0x0A,0x04,0x00,0x04};
  32.         //uint8_t  data[]={0x01,0x03,0xF0,0x0A,0x00,0x02};
  33.         uint8_t a=CrcValueCalc(data,6);
  34.         //printf("%x",a);//输出为ff
  35.     cout<<hex<<(int)a<<endl;
  36.         system("pause");
  37.         cout<<endl;
  38.         return;
  39. }
复制代码

所有资料51hei提供下载:
计算CRC.rar (1.71 MB, 下载次数: 13)
回复

使用道具 举报

ID:32490 发表于 2018-8-22 21:57 | 显示全部楼层
CRC很多多项式校验类型,需要把常用的都搞上啊
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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