求教:串口接收数据校检使用论坛中得当CRC都不对?

2020-02-01 16:22发布

已经知道是用的51单片机,通过接收串口数据知道以下几组数据:
aa c1 2a 45 42 bb         ----------------第一组
aa d1 30 32 30 30 30 31 2a 46 38 bb----------第二组
aa c7 2a 45 44 bb        ------------------第三组
AA C6 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 45 BB   --------第四组

AA C6 30 30 30 31 30 30 30 30 30 30 30 31 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2A 45 45 BB   ---------第五组
在论坛中和其它网站找到几种CRC校检工具,不知道何故校出来的结果各不相同,自己本身就不知道什么校检,求高手能看出来这个是用什么校检的吗?为什么CRC校检的结果各不相同呢?
几个小CRC工具打包如下:
crc.rar (728.69 KB, 下载次数: 12) 2013-1-6 21:06 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
dr2001
2020-02-02 11:32
dlmaowf 发表于 2013-1-7 09:04
CRC我也一直没搞懂,也找了很多资料,最后根据网上的一个CRC-16的校验方法,用Fx3G的PLC写出的程序,校验是 ...

参考我上边的回复。

你提到的算法是Modbus用的16Bit CRC。
width=16  poly=0x8005  init=0xffff  refin=true  refout=true  xorout=0x0000  check=0x4b37  name="MODBUS"

实际应用中有很多16Bit的CRC,各不相同。

一周热门 更多>