什么是CRC? CRC检测又有什么意思?

作者&投稿:叶寇 (若有异议请与网页底部的电邮联系)
~ 分类: 教育/科学 >> 科学技术 >> 工程技术科学
问题描述:

谢谢各位大侠,告知小弟CRC是什么?

解析:

CRC检测

使用RTU模式,消息包括了一基于CRC方法的错误检测域。CRC域检测了整个消息的内容。

CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到

消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。

CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值

进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。

CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位

以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个

过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中

的值,是消息中所有的字节都执行之后的CRC值。

CRC添加到消息中时,低字节先加入,然后高字节。CRC简单函数如下:

unsigned short CRC16(puchMsg, usDataLen)

unsigned char *puchMsg ; /* 要进行CRC校验的消息 */

unsigned short usDataLen ; /* 消息中字节数 */

{

unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化 */

unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化 */

unsigned uIndex ; /* CRC循环中的索引 */

while (usDataLen--) /* 传输消息缓冲区 */

{

uIndex = uchCRCHi ^ *puchMsgg++ ; /* 计算CRC */

uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex} ;

uchCRCLo = auchCRCLo[uIndex] ;

}

return (uchCRCHi << 8 | uchCRCLo) ;

}


察雅县15241683270: crc是什么 -
於股爱罗: CRC 一、循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计...

察雅县15241683270: 什么是CRC -
於股爱罗: CRC(循环冗余检查)--一种数据传输检错功能,对数据进行多项式计算,并将得到的和数附在帧的后面.接收设备也执行类似的算法.希望对你有帮助

察雅县15241683270: CRC校验是什么? -
於股爱罗: CRC校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能. 可以对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性.CRC校验中有两个关键点,一是预先确定一个发送送端和接收端都用来作为除数的二进制比特串(或多项式),可以随机选择,也可以使用国际标准. 但是最高位和最低位必须为1;二是把原始帧与上面计算出的除数进行模2除法运算,计算出CRC码.

察雅县15241683270: 血项化验中CRC是甚么缩写 -
於股爱罗: CRC,中文名称为循环冗余校验,CRC属于密码学1类算法,经常使用于数据校验,1般会用来检测程序是不是被脱壳或被修改,已到达防破解的目的.CRC即循环冗余校验码(CyclicRedundancyCheck):是数据通讯领域中最经常使用的1种过失校验码,其特点是信息字段和校验字段的长度可以任意选定.

察雅县15241683270: CRC是什么东西? -
於股爱罗:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误如果你最近换了主板,那么你的主板有可能用了一种叫“块读取”的技术,而你的硬盘比较老,不支持这种技术的话,那么有可能会出现这个问题(血的教训,我为此丢了几个G的数据),可以在Bios里把这个功能关闭,你提到说你没有试过换主板,我想你可以尝试检查一下Bios里面的设定

察雅县15241683270: 什么叫CRC校验???? -
於股爱罗: CRC是什么东西呢?其实我们大家都不应该会对它陌生,回忆一下?你用过RAR和ZIP等压缩软件吗?它们是不是常常会给你一个恼人的“CRC校验错误”信息呢?我想你应该明白了吧,CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”,“CRC校验”就是“循环冗余校验

察雅县15241683270: 什么是CRC校验?这是加密解密中看到的. BY: Pedoc. -
於股爱罗: CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定.

察雅县15241683270: CRC校验是什么?
於股爱罗: CRC循环校验是什么???????? CRC是什么东西呢?其实我们大家都不应该会对它陌生,回忆一下?你用过RAR和ZIP等压缩软件吗?它们是不是常常会给你一个恼人的“CRC校验错误”信息呢?我想你应该明白了吧,CRC就是块数据...

察雅县15241683270: crc是在什么协议里的
於股爱罗: crc是IEEE 802.3协议族它是属于二层(数据链路层)的CRC是一种用于校验数据是否正确的技术.数据在网络中传输或者硬盘等介质中拷贝或者移动,都有可能会照成数据损坏,我举个例子,从A点经过网络传输数据到B点,A点的原始数据经过CRC算法会得到一个CRC校验值,这个值会附带在数据尾部,和数据一起传输过来,然后B点收到数据后,会对数据进行CRC校验,看得到的值和从数据尾部CRC值一不一样,一样就代表数据没有损坏或者给人篡改过.

察雅县15241683270: CRC校验是什么意思啊? -
於股爱罗: 循环冗余校验码(CRC)基本原理:K位信息码再拼接R位校验码整编码度N位种编码叫(NK)码于给定(NK)码证明存高幂N-K=R项式G(x)根据G(x)K位信息校验码G(x)叫做CRC码项式 校验码具体程:假设发送信息用信息项式C(X)表示C(x)左移R位则表示C(x)*2RC(x)右边空R位校验码位置通C(x)*2R除项式G(x)余数校验码

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网