c语言 CRC的检验方式 我想问一下。这下面的C语言返回的CRC的值是啥。他有他的公式是怎么样的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 CRC的检验方式 我想问一下。这下面的C语言返回的CRC的值是啥。他有他的公式是怎么样的相关的知识,希望对你有一定的参考价值。
unsigned char crc_8n(unsigned char *ptr,unsigned char n)
unsigned char crc = 0; //CRC preset
unsigned char i, j;
const unsigned char poly = 0x8C; //CRC polynom
for (i=0;i<n;i++)
crc ^= ptr[i];
for (j=0; j<8; j++)
if (crc&1)
crc = (crc>>1) ^ poly;
else
crc = (crc>>1);
return crc;
实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。 参考技术A http://baike.baidu.com/view/1664507.htm
以上是关于c语言 CRC的检验方式 我想问一下。这下面的C语言返回的CRC的值是啥。他有他的公式是怎么样的的主要内容,如果未能解决你的问题,请参考以下文章
我要用C语言编写CRC16效验码。通过输入一个串然后计算出CRC16效验码。例如:输入010600001388计算得到849C