关于CRC冗余校验原理及实现
来源:互联网 发布:战地之王鸿福m4数据 编辑:程序博客网 时间:2024/04/30 02:28
关于CRCITCC16校验码计算的疑惑。
/******函数名:CRCCCITT_CalculateBuf() *********************
*
* 功能描述:
* 这个函数为CRC-CCITT的CRC16的计算函数,计算指定地址和个数
* 的数据的CRC_16的校验值.
* EPC标签中的CRC计算采用CRC-CCITT算法。
* 计算公式:
* CRC_16= x^16 + x^12 + x^5 + 1
*
* 调用参数:
* ptr 计算的数据起始地址
len 计算的数据长度
* 返回值:
* 函数计算的CRC值
* 函数代码:
*/
UINT16 CRCCCITT_CalculateBuf(UINT8 *ptr, UINT16 len)
{
UINT8 i;
UINT16 crc_result = 0xffff; //此处为何要这样设置啊?
while(len--)
{
for(i=0x80; i!=0; i>>=1 )
{
if (crc_result&0x8000)
crc_result = (crc_result << 1) ^0x1021 ;
else
crc_result <<= 1 ;
if(*ptr&i)
crc_result^=0x1021 ; //什么时候要执行两次出发运算
}
ptr++;
}
return crc_result;
}
还有一点是当i= 0x80时的除法运算,按原理来说应该是*ptr<<8^0x1021
- 关于CRC冗余校验原理及实现
- 循环冗余校验 CRC 原理
- CRC循环冗余校验原理
- 循环冗余校验(CRC)算法原理
- CRC循环冗余校验学习及总结
- CRC冗余校验的C语言实现
- CRC循环冗余校验
- 循环冗余校验CRC
- CRC循环冗余校验
- CRC冗余校验详解
- CRC 循环冗余校验
- CRC循环冗余校验
- CRC循环冗余校验
- CRC循环冗余校验
- 循环冗余校验CRC
- CRC循环冗余校验
- CRC循环冗余校验
- CRC 循环冗余校验
- jexcelapi写excel文件的抽象类(二)
- 主要视频压缩技术在中国内地市场发展分析
- 大型机学习之具体技术之-JCL练习(四)-特殊的DD语句
- 大型机学习之具体技术之-JCL练习(五)-过程的定义与使用
- 大型机学习之具体技术之-JCL练习(六)-如何分析作业的输出信息
- 关于CRC冗余校验原理及实现
- 相信
- 40多款局域网工具
- 单身的想结婚,结婚的想单身
- 汉字转拼音缩写的函数(VB)
- *百部名著 一百句名言*
- 群讨论记录:在STRUTS里里面用forward转不到指定的页面
- linux下死机处理方法
- 利用Flash制作一个可以自由拨动的时钟模具