[经验分享] CRC校验原理

[复制链接]
8288|24
ARMstart 发表于 2013-3-7 15:17 | 显示全部楼层
还没理解哦
llbdy 发表于 2013-3-7 16:59 | 显示全部楼层
wenku.baidu.com/view/bddce20702020740bf1e9b00?fr=prin
我的毕业论文就是做这个……
readygo2012 发表于 2013-3-7 22:22 | 显示全部楼层
CRC校验对于通信传输比较主要
yinhaix 发表于 2015-5-25 14:09 | 显示全部楼层
e1ki0lp 发表于 2015-5-26 23:41 | 显示全部楼层
本帖最后由 e1ki0lp 于 2015-5-26 23:43 编辑
  1. #include <stdio.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. uchar dat[] = { 0x28,0x4C,0x2D,0xB4,0x15,0x00,0x00 }; //测试数据

  5. uchar CheckCrc()                            // Dallas iButton test vector.  CRC-8  x8+x5+x4+1  
  6. {
  7.     uchar crc = 0, i,j;
  8.     for (i = 0; i < sizeof dat/sizeof dat[0] ; i++)
  9.     {
  10.         crc = crc ^ dat[i];
  11.         for (j = 0; j < 8; j++)
  12.         {
  13.             if (crc & 0x01)
  14.                 crc = (crc >> 1) ^ 0x8C;
  15.             else
  16.                 crc >>= 1;
  17.         }
  18.     }
  19.     return crc;
  20. }

  21. int main()
  22. {
  23.     printf("%x,",CheckCrc());                 //输出校验码 16进制格式
  24.     return 0;     
  25. }

查表法优势很大么?感觉计算起来也不是很麻烦啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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