1 / 21
文档名称:

crc校验原理.pdf

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

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

分享

预览

crc校验原理.pdf

上传人:小辰GG 2022/6/22 文件大小:712 KB

下载得到文件列表

crc校验原理.pdf

文档介绍

文档介绍:: .
校验原理
16 位移位寄存器中的内容就是 CRC 码。图中进行 XOR 运算的位与多项式的表达相对应。
X5 代表 Bit5,X12 代表 Bit12,1 自然是代表 Bit0,X16 比较特别,是指移
位寄存器移出的数据,即图中的 DATA OUT。可以这样理解,与数据位做 XOR
运算的是上次 CRC 值的 Bit15。
根据以上说明,可以依葫芦画瓢的写出以下程序。(程序都是在 keil C 下调
试的)

typedef unsigned char uchar;
typedef unsigned int uint;

code uchar crcbuff [] = { 0x00,0x00,0x00,0x00,0x06,0x0d,0xd2,0xe3};
uint crc; // CRC 码
void main(void)
{
uchar *ptr;
crc = 0; // CRC 初值
ptr = crcbuff; // 指向第一个 Byte 数据
crc = crc16l(ptr,8);
while(1);
}

uint crc16l(uchar *ptr,uchar len) // ptr 为数据指针,len 为数据长度
{
uchar i;
while(len--)
{
for(i=0x80; i!=0; i>>=1)
{if((crc&0x8000)!=0) {crc<<=1; crc^=0x1021;} 1-1
else crc<<=1; 1-2
if((*ptr&i)!=0) crc^=0x1021; 1-3
}
ptr++;
}
return(crc);
}

执行结果 crc = 0xdbc0;
程序 1-1,1-2,1-3 可以理解成移位前 crc 的 Bit15 与数据对应的 Bit(*ptr&i)
做 XOR 运算,根据此结果来决定是否执行 crc^=0x1021。只要明白两次异或
运算与原值相同,就不难理解这个程序。

很多资料上都写了查表法来计算,当时是怎么也没想通。其实蛮简单的。假设通
过移位处理了 8 个 bit 的数据,相当于把之前的 CRC 码的高字节(8bit)全部移
出,与一个 byte 的数据做 XOR 运算,根据运算结果来选择一个值(称为余式),
与原来的 CRC 码再做一次 XOR 运算,就可以得到新的 CRC 码。

不难看出,余式有 256 种可能的值,实际上就是 0~255 以 X16+X12+X5+1
为权得到的 CRC 码,可以通过函数 crc16l 来计算。以 1 为例。

code test[]={0x01};
crc = 0;
ptr = test;
crc = crc16l(ptr,1);

执行结果 crc = 1021,这就是 1 对应的余式。

进一步修改函数,我这里就懒得写了,可得到 X16+X12+X5+1 的余式表。

code uint crc_ta[256]={ // X16+X12+X5+1 余式表
0x

最近更新

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页