寻CRC16校验计算软件
本帖最后由 woshigeshuai 于 2018-5-13 13:49 编辑现在在弄CRC16校验,碰到一个校验,找不到软件,需要找到软件,检察自己校验的对不对
unsigned int CRC16_Checkout ( unsigned char *puchMsg, unsigned int usDataLen )
{
unsigned int i,j,crc_reg,check;
crc_reg = 0xFFFF;
for(i=0;i<usDataLen;i++)
{
crc_reg = (crc_reg>>8) ^ puchMsg;
for(j=0;j<8;j++)
{
check = crc_reg & 0x0001;
crc_reg >>= 1;
if(check==0x0001)
{
crc_reg ^= 0xA001;
}
}
}
return crc_reg;
}
顺便发几个自己常用的校验工具
hpy168888 发表于 2018-5-13 13:01
搜索Sscomm
谢谢
上面的CRC16跟这个不一样 论坛搜下一大堆,我都发过 bolizhicheng204 发表于 2018-5-13 13:16
论坛搜下一大堆,我都发过
谢谢,你发的我用过,不行,计算方式不一样。 QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5;CP=&&RtdInterval=30&&1C80
最后的1C80是校验结果 这个你看一下可不可以,试试吧{:smile:} 奮闘ing 发表于 2018-5-13 13:41
这个你看一下可不可以,试试吧
感谢楼上坛友资料~~~~~~~~~~~ 正需要,用下 在线 CRC 计算器
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html 正需要,用下,感谢楼上坛友资料~~~~~~~~~~~ https://www.amobbs.com/forum.php?mod=viewthread&tid=5503224&highlight=CRC woshigeshuai 发表于 2018-5-13 13:19
QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5;CP=&&RtdInterval=30& ...
212协议里面有校验程序啊,直接取来用就行了
CRC 校验算法示例:
/****************************************************************************************
函 数: CRC16_Checkout
描 述: CRC16 循环冗余校验算法。
参 数 一: *puchMsg:需要校验的字符串指针
参 数 二: usDataLen:要校验的字符串长度
返 回 值: 返回 CRC16 校验码
****************************************************************************************/
unsigned int CRC16_Checkout ( unsigned char *puchMsg, unsigned int usDataLen )
{
unsigned int i,j,crc_reg,check;
crc_reg = 0xFFFF;
for(i=0;i<usDataLen;i++)
{
crc_reg = (crc_reg>>8) ^ puchMsg;
for(j=0;j<8;j++)
{
check = crc_reg & 0x0001;
crc_reg >>= 1;
if(check==0x0001)
{
crc_reg ^= 0xA001;
}
}
}
return crc_reg;
} 是用在ModBus上的CRC校验软件吗 楼主这个crc校验小软件找到了吗?
页:
[1]