CRC校验

Posted hellokitty2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CRC校验相关的知识,希望对你有一定的参考价值。

  假设要发送的数据是:0b10110010,其对应的多项式称为g(x);指定生成多项式为:CRC-4为h(x)=x4+x3+x2+x+1(即0b11111),数据和生成多项式二进制相除g(x)/h(x)(异或)生成的校验字段为:0b0100,那么发送的码字为0b101100100100,将其发送出去。

  接收端接收到码字后,将码字与生成多项式二进制相除(异或),如果能整除则说明接收的数据是正确的,若不能整除说明数据传输过程中出现了错误,接收的是错误的。

 异或:

二进制相除:

 

 参考:

http://www.cnblogs.com/94cool/p/3559585.html

http://www.360doc.com/content/12/0324/17/110467_197300430.shtml

 

以上是关于CRC校验的主要内容,如果未能解决你的问题,请参考以下文章

CRC16校验码如何计算

CRC校验的原理是啥?

crc16校验的c语言程序

crc校验码计算方法是啥?

如何计算modbus-rtu的crc校验码

CRC校验失败怎么办?