1 / 20
文档名称:

crc校验原理.doc

格式:doc   大小:109KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

crc校验原理.doc

上传人:2786321826 2022/2/14 文件大小:109 KB

下载得到文件列表

crc校验原理.doc

相关文档

文档介绍

文档介绍:-
. z.
校验原理
1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
2、生成CRC码的基本原理:任意一个由二进/ CRC  初值
  ptr = crcbuff;              //  指向第一个 Byte 数据
  crc = crc
-
. z.
16l(ptr,8);           
  while(1);
}
 
uint crc16l(uchar *ptr,uchar len)        // ptr 为数据指针,len 为数据长度
{
  uchar i;
  while(len--)
  {
      for(i=0*80; i!=0; i>>=1)
    {
        if((crc&0*8000)!=0) {crc<<=1; crc^=0*1021;}        1-1  
          else crc<<=1;                     1-2
      if((*ptr&i)!=0) crc^=0*1021;                       1-3  
    }
    ptr++;
  }
  return(crc);
}
 
执行结果 crc = 0*dbc0;
程序 1-1,1-2,1-3 可以理解成移位前 crc  的 Bit15 与数据对应的 Bit(*ptr&i)做 *OR运算,根据此结果来决定是否执行 crc^=0*1021。只要明白两次异或运算与原值相同,就不难理解这个程序。
 
很多资料上都写了查表法来计算,当时是怎么也没想通。其实蛮简单的。假设通过移位处理了 8 个 bit 的数据,相当于把之前的 CRC 码的高字节(8bit)全部移出,与一个 byte 的数据做*OR 运算,根据运算结果来选择一个值(称为余式),与原来的 CRC 码再做一次 *OR 运算,就可以得到新的 CRC 码。
 
不难看出,余式有 256 种可能的值,实际上就是 0~255 以 *16+*12+*5+1 为权得到的 CRC码,可以通过函数 crc
-
. z.
16l来计算。以1 为例。
 
code test[]={0*01};
crc = 0;
ptr = test;
crc = crc16l(ptr,1);
 
执行结果 crc = 1021,这就是1 对应的余式。
 
进一步修改函数,我这里就懒得写了,可得到 *16+*12+*5+1 的余式表。
 
code uint crc_ta[256]={                // *16+*12+*5+1  余式表
    0*0000, 0*1021,  0*2042, 0*3063, 0*4084, 0*50a5, 0*60c6, 0*70e7,
  0*8108, 0*9129, 0*a14a, 0*b16b, 0*c18c, 0*d1ad, 0*e1ce, 0*f1ef,
    0*1231, 0*0210, 0*3273, 0*2252, 0*52b5, 0*4294, 0*72f7, 0*62d6,
    0*9339, 0*8318, 0*b37b, 0*a35a, 0*d3bd, 0*c39c, 0*f3ff, 0*e3de,
    0*2462, 0*3443, 0*0420, 0*1401, 0*64e6, 0*74c7, 0*44a4, 0*5485,
    0*a56a, 0*b54b, 0*8528, 0*9509, 0*e5ee, 0*f5cf, 0*c5ac, 0*d58d,
    0*3653, 0*2672, 0*1611, 0*0630, 0*76d7, 0*66f6, 0*5695, 0*46b4,
    0*b75b, 0*a77a, 0*9719, 0*8738, 0*f7df, 0*e7fe, 0*d79d, 0*c7bc,
    0*48c4, 0*58e5, 0*6886, 0*78a7, 0*0840, 0*1861, 0*2802, 0*3823,
    0*c9cc, 0*d9ed, 0*e98e, 0*f9af, 0*8948, 0*9969, 0*a90a, 0*b92b,
    0*5

最近更新

2024 2025学年五年级语文上册第三单元10嫦娥奔.. 3页

二零二五投资理财借款合同范例 8页

2025年常用俗语谚语歇后语整理 19页

论农村产业结构演变的规律性及其对策 2页

论“日本创造科学技术推进制度”的特点 2页

计算港口客运站“设计旅客聚集量”的研究 2页

计算机辅助多自由度激光自动准直系统稳定性分.. 2页

计算机智能解析方法及在非牛顿流体力学中应用.. 2页

二零二五房屋租赁中间人协议范例 7页

二零二五房屋分期付款买卖协议书 9页

隐私保护数据传输策略-全面剖析 36页

二零二五房屋买卖合同范例 8页

二零二五房地产销售内部承包协议 9页

二零二五房地产简单居间合同范文 8页

西雅图港信息管理系统开发技术评介 2页

二零二五房地产估价委托协议合同书范例 8页

二零二五房产销售居间协议 9页

专业建筑物装修施工合同 7页

二零二五成品油采购合同范例 9页

二零二五快递合同 9页

北师大六年级下册期末数学质量测试题目A卷答案.. 18页

中国重汽解除劳动合同协议 5页

数学初一分班模拟测试试题经典套题及解析 18页

2024年人教版中学七7年级下册数学期末学业水平.. 25页

月嫂服务合同下载2 6页

二零二五店铺降租申请书 7页

二零二五广告工程施工合同范例 9页

二零二五幼儿园装修设计合同 9页

上海华东政法大学附属中学七年级上学期地理期.. 17页

二零二五常州二手房买卖合同 9页