CRC校验的原理及代码实现 全球快播报

2023-05-07 08:21:58    来源 : 面包芯语

扫描关注一起学嵌入式,一起学习,一起成长

一、CRC校验介绍


(资料图片)

循环冗余校验码(CRC),是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。循环冗余校验是通过某种数学运算来建立数据位和校验位的约定关系的。

与奇偶校验、和校验、异或校验等校验方式不同,CRC校验的计算过程相对复杂很多。

二、模2除法介绍

CRC校验原理虽然看起来比较复杂,其实也不难理解,其根本思想就是先在要发送的帧后面附加一个数,生成一个新帧发送给接收端。当然,这个附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除。

三、CRC校验原理

上面我们对CRC校验进行了简单介绍,下面我们就来看看CRC校验是如何实现的。

最后,再把这个校验码附加在原数据后面,构建一个新帧发送到接收端;最后在接收端再把这个新帧以“模2除法”方式除以前面选择的除数,如果没有余数,则表明该帧在传输过程中没出错,否则出现了差错。

下面,我们通过一个例子来说明一下,CRC校验的计算过程。

四、CRC校验的c代码实现

原文:https://blog.csdn.net/bhniunan/article/details/111031467

如何高效解析不定长度的协议帧

标签:

相关推荐

x 广告

如有意见请与我们联系 邮箱:8 97 180 9 @qq.com

豫ICP备2021032478号-31

Copyright ©  2015-2022 元宇宙版权所有