crc校验调试与应用

CRC校验C语言调试与应用 一般标准的通讯协议中都需要有校验方法来校验通讯过程中的数据的正确性,如我们工程中用的标准MODBUS串行通讯网络采用两种错误校验方法,奇偶校验可以用于检验每一个字符,信息帧

CRC校验C语言调试与应用 一般标准的通讯协议中都需要有校验方法来校验通讯过程中的数据的正确性, 如我们工程中用的标准MODBUS串行通讯网络采用两种错误校验方法,奇偶校验可以 用于检验每一个字符,信息帧校验(LRC或CRC)使用于整个信息的校验,字符校验和 信息帧校验均由主机设备产生,并在传送前加到信息中去。从机设备在接收信息过 程中校验每个字符和整个信息。 CRC校验(循环冗余校验)是现代通信领域的重要技术之一。掌握CRC的算法 与实现方法,在通信系统的设计、通信协议的分析以及软件保护等诸多方面,能发挥 很大的作用。 CRC的代数的一般性算法网上的内容很多,在这里不在赘述。一般CRC的C语 言有两种实现算法:比特型算法和字节型算法,由于比特型算法需要逐位进行计算, 效率比较低,不适合高速通讯的场合,所以我们一般采用字符型算法,下面重点介绍 字符型算法的CRC 校验。 1、实现原理: 循环冗余校验CRC区为2个字节,含一个16位二进制数据。由发送设备计算 CRC值,并计算CRC值,并把计算值附在信息中,接收设备在接收信息时,重新计算 CRC的值,并把计算值与接收的在CRC区中的实际值进行比较,若两者不相同,则产 生一个错误。 2、CRC的产生 (1)把16位CRC寄存器置成全1,即0xffff。 (2)第一个8位数据与CRC寄存器低8位进行异或运算,把结果存入CRC寄存 器。

腾讯文库crc校验调试与应用