首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

白话 CRC

前言 我们经常碰到 CRC 这个概念,尤其是在通信领域。但是 CRC 的原理是什么呢?我们有必要了解一下。...简介 CRC(Cyclic Redundancy Check,循环冗余校验)是一种数据错误检测方法,主要用来检测数据传输或者保存后是否出现错误。...理解 CRC,最为关键的就是理解 CRC 校验码的生成方法。 CRC 校验码生成方法是对原始数据采用特定的多项式(对应一个二进制数)进行模2除法运算,得到的余数即为 CRC 校验码。...常用CRC版本 CRC 校验码的生成关键是选择一个二进制多项式作为除数。...目前不同版本的 CRC 已经有标准的二进制多项式,下面给出常用 CRC 版本: 名称 多项式 表示法 应用举例 CRC-8 X8+X2+X+1 0x107 CRC-12 X12+X11+X3+X2+X

2.1K10

LabVIEW实现CRC校验

目录 1、内部控件计算CRC校验 2、公式节点计算CRC校验 ---- CRC(循环冗余校验),是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误...它是利用除法及余数的原理来作错误侦测的。 关于CRC校验的实验原理这里不再赘述,百度上有很多的解析,本篇博文主要讲解在LabVIEW环境中如何实现CRC校验。...本篇博文介绍两种方法实现CRC校验:内部控件计算CRC校验和公式节点计算CRC校验。...软件计算(注意CRC高低位顺序)效果如下图所示: 1、内部控件计算CRC校验 使用内部控件计算CRC校验就是使用基本的运算组件实现算法计算过程。...实现代码如下所示: 2、公式节点计算CRC校验 使用公式节点计算CRC校验,这里主要依托于:公式节点。公式节点可以实现在程序框图上计算数学公式或者使用C语言进行数值运算。

2.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

CRC校验怎么算?

10110101->101101011 偶校验 接收方收到数据后计算其奇偶性,如果不对,则说明数据传输中发生了错误。...奇偶校验优点是使用简单,缺点是检错率有限,只有奇数个数据位发生变化的错误能检测到,偶数个数据位变化的错误它检测不了。...上面的两种校验和CRC校验没有什么关系,只是为了让大家对校验先有个感性的认识,下面来正式介绍CRC。...当全为1时,表示在算法开始前对数据的前CRC位数(高位)先和对应位数个1进行异或(即:前CRC位数的值按位取反),再在后面补上CRC位数个0,才进行后续计算。...看完这些大家应该都清楚了CRC的计算,有些 MCU本身集成了硬件CRC模块,你只需要配置寄存器,就可以算出CRC结果了,或者也可以通过软件来实现,https://github.com/whik/crc-lib-c

2.8K20

给文件添加CRC校验

crc校验 crc校验常用的有CRC16和CRC32,在通信中用的比较多(modbus协议等),这里不详细介绍其原理了。 crc校验不同多项式,计算结果是不一样的。...文件crc校验 为了保证文件的完整性,可以通过一些方法来对文件进行校验,校验的方法也挺多,使用crc16、crc32是比较简答的方式。主要是针对升级文件、配置文件等。...)算法 * CRC 校验(Cyclic Redundancy Check)是一种数据传输错误检查方法, CRC 码两个字 * 节,包含一 16 位的二进制值。...* ⑧ 这个 16 位寄存器的内容即 2 字节 CRC 错误校验码。 * 校验码按照先高字节后低字节的顺序存放。...CRC16 =CRC16 >>1; if (tmp) CRC16=CRC16 ^ 0xa001; } *ptr++; } return

4.4K20

CRC校验原来这么简单

假设由于传输过程中的干扰,接收端接收到的数据是0010 0011,通过奇校验运算,得到奇校验位的值为0,虽然校验通过,但是数据已经发生了错误。 ? 校验和同理也会有类似的错误: ?...它是利用除法及余数的原理来作错误侦测的。 CRC校验计算速度快,检错能力强,易于用编码器等硬件电路实现。从检错的正确率与速度、成本等方面,都比奇偶校验等校验方式具有优势。...接收端的校验有两种方式,一种是和CRC计算一样,在本地把接收到的数据和CRC分离,然后在本地对数据进行CRC运算,得到的CRC值和接收到的CRC进行比较,如果一致,说明数据接收正确,如果不一致,说明数据有错误...公众号后台回复【CRC】,获取以上两款CRC计算工具的下载链接。 总结 CRC校验并不能100%的检查出数据的错误,非常低的概率会出现CRC校验正确但数据中有错误位的情况。...CRC校验可以检错,也可以纠正单一比特的错误,你知道纠错的原理吗?

9K12

C语言实例_CRC校验算法

一、CRC介绍 CRC(Cyclic Redundancy Check,循环冗余校验)是一种常用的错误检测技术,用于验证数据在传输或存储过程中是否发生了错误。...CRC校验通常用于以下方面: (1)数据传输的可靠性:在数据通过媒体或网络进行传输时,可能会发生噪声、干扰或其他传输错误。...通过在数据中添加CRC校验值,接收方可以检测到传输过程中是否发生了错误,并采取相应措施,如请求重新发送数据。...(2)存储介质的完整性检测:在存储介质上读取或写入数据时,可能会发生位翻转、介质故障等错误。通过在数据存储时使用CRC校验,可以在读取数据时检测到这些错误,并提供数据的完整性保证。...在项目中,CRC校验广泛应用于各种通信系统、存储系统和数据传输系统中。通过使用CRC校验,可以提高数据的可靠性,并减少传输或存储过程中的错误

28530
领券