一、CRC校验介绍
循环冗余校验码(CRC),是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。循环冗余校验是通过某种数学运算来建立数据位和校验位的约定关系的。
(资料图片)
与奇偶校验、和校验、异或校验等校验方式不同,CRC校验的计算过程相对复杂很多。
二、模2除法介绍
CRC校验原理虽然看起来比较复杂,其实也不难理解,其根本思想就是先在要发送的帧后面附加一个数,生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除。
三、CRC校验原理
上面我们对CRC校验进行了简单介绍,下面我们就来看看CRC校验是如何实现的。
最后,再把这个校验码附加在原数据后面,构建一个新帧发送到接收端;最后在接收端再把这个新帧以“模2除法”方式除以前面选择的除数,如果没有余数,则表明该帧在传输过程中没出错,否则出现了差错。
下面,我们通过一个例子来说明一下,CRC校验的计算过程。
四、CRC校验的c代码实现
原文:https://blog.csdn.net/bhniunan/article/details/111031467
如何高效解析不定长度的协议帧
上一篇 : 全球快资讯丨张家界二日游攻略景区 张家界二日游攻略
下一篇 : 最后一页