clwn.net
当前位置:首页 >> 求一个C语言实现的CRC16/CCITT鶯SE校验码函数 >>

求一个C语言实现的CRC16/CCITT鶯SE校验码函数

//函数功能:计算CRC16 //参数1:*pData 16位CRC校验数据, //参数2:nLength 数据流长度 //参数3:init 初始化值 //参数4:ptable 16位CRC查找表 //逆序CRC计算 unsigned short GetRevCrc_16(unsigned char * pData, int nLength, unsigned sho...

如果是低速设计上游数据可能是串行的 显然如果采用并行实现有些浪费硬件资源 因为还要把串行输入存储起来形成整字节的并行输入 CRC的“定义”不是唯一的 只要接收发送端采用的一致就行 不知道你看了什么资料 但是估计不是很好

7E 00 05 60 31 32 33 计算CRC16结果应该是:5B3E 方法如下: CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或(异或:二进制运算 相同为0,不同为1;0^0=0;0^1=1;1^0=1;1^1=0), 之后对CRC...

你现在用的是CRC-16校验步骤,要在校验前先送0xFFFF,而CRC-CCITT是不一样的校验步骤,你还是先找CRC-CCITT的校验步骤吧!

由于函数名CRC16与单元格名称CRC16冲突,所以将函数名改为CRC Function CRC(ByVal x As Double) As Double CRC = x ^ 16 + x ^ 12 + x ^ 5 + 1End Function

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com