- 39
- 0
- 约 3页
- 2017-07-29 发布于浙江
- 举报
CRC计算方法
CRC-16
计算CCRRCC--1166循环冗余校验码的程序开发
ProgramDevelopment of CalculatingCRC-16 CyclicRedundancy CheckCode
PPrrooggrraammDDeevveellooppmmeenntt ooff CCaallccuullaattiinnggCCRRCC--1166 CCyycclliiccRReedduunnddaannccyy CChheecckkCCooddee
【内容摘要】CRC-16 是检测数据在发送过程中发生错误的常用校验方法,本文通过从工程应用的角
度,讲述如何实现CRC-16的程序开发,并给出了VisualBasic和VisualC++程序代码,给从事工业控
制的人员在写通信程序的时候提供一些有价值的参考。
一、前言
CRC 的计算方式是将欲传输的数据块视为一堆连续位所构成的整个数值,将此数值除以一个特定
的除数,通常以二进制表示,此除数称为生成多项式(ANSI CRC-16 的生成多项式为:x16+x15+x2 +
1)。目前较常用的CRC 位数目有8和16以及32,在这里只讲述如何写CRC 位数目为16的程序。
CRC 位数目越大,数据的错误检测率则越高,但必须多花一些时间进行数据的计算。
CRC-16
二、CCRRCC--1166计算步骤
CRC-16 的计算方法有两种:查表法与计算法,在这里只讲述计算法。本人在2000年在江西亚东水泥
公司上班时,在某电力仪表上的说明书中摘录下来的计算CRC-16步骤如下:
1、Load a16-bitregisterwith FFFFhex.CallthistheCRCregister.
2、Exclusive ORthefirst8-bitbyte of themessagewith thelow-order byte of the16-bitCRC,putting
theresultintheCRCregister.
3、ShifttheCRC registeronebittotheright(towardtheLSB), zero-fillingtheMSB. Extractand
Examine.
4、IftheLSBwas 1:Exclusive ORtheCRC register withpolynomial valueA001hex.IftheLSB was
0:Repeat step 3(anothershift).
5、Repeat step 3and4until8shiftshavebeen performed.Whenthisisdone,acomplete8-bitbyte
willhavebeen processed.
6、Repeat step 2through5for thenext8-bitbyte of themmessage.
7、Thefinalcontentof theCRCregister istheCRC value.
中文解释如下:
1、定义一个初始值为FFFF的16位的变量,该变量称为CRC 寄存器。(想想在程序中,应该怎
么表示16 位的变量呢?)
2、把欲发送或接收消息的高8 位和CRC 寄存器的底8位作异或运算,并把结果在赋到CRC 寄
存器。
3、CRC寄存器右移1位(朝最低位),同时最高位添零。取出并检查最低位是否为1。( Visual Basic
里如何做移位的运算呢?)
4、如果为1,则CRC 寄存器与多项式A001异或;如果为0,则重复第3步的动作。(VisualBasic
里如何判断一个字节里某个位的值呢?)
5、重复3 和4直到完成了8次移位。这样完整的8 位字节将完成处理了。
6、对于下一个8 位字节的处理就是重复第2 步到第5步了
7、把所有的欲发送或接收消息这样处理后, CRC 寄存器里的值就是我们最终需要得到的CRC
校验码。
如果你能正确回答我的问题,那么恭喜你,你自己可以用VisualBasic写数据采集卡的控制程序
了。
EndSub
Visual C++
三、VViissuuaall CC++++程序实现
程序界面
您可能关注的文档
最近下载
- 经营分析会,必须要讲清楚的几个指标(25页 PPT).pptx VIP
- 总经理营销总监经营例会运营分析模板PPT.pptx VIP
- 新人教版九年级语文上册期末测试卷及答案【审定版】.doc VIP
- 2025 经营分析核心指标及搭建指南(23页 PPT).pptx VIP
- 风电项目建设标准强制性条文监督检查计划.docx VIP
- 奥的斯 HAA21310BW(ACD5-MRL 40A)电气原理图.pdf VIP
- 洛阳市第五人民医院2026年编外人员公开招聘备考题库及一套答案详解.docx VIP
- 畜禽屠宰加工企业消防安全指南.docx VIP
- DND传奇职业可选专长.docx VIP
- 洛阳市第五人民医院2026年编外人员公开招聘备考题库及完整答案详解一套.docx VIP
原创力文档

文档评论(0)