打印

请教,串口数据校验的问题。校验位在一串数据的最后一个字

[复制链接]
2818|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
music513|  楼主 | 2007-1-19 13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我从一部小机器串口上读到一串数据,现在分析出了命令与数据的结构,但是最后的一个字节比较特别,我觉得可能是校验。因为在数据区改变一个值后回传,机器无反应。但是改变数据区数据的顺序,机器能正常工作,只是显示有些变化。
我分别试过了对(命令+数据)与(数据)的异或、求和。但是结果与它数据的最后的字节都不同。
CRC校验应该与数据的顺序有关吧?那还会有什么校验呢?还请高手帮忙分析一下。

相关帖子

沙发
chunyang| | 2007-1-19 16:29 | 只看该作者

校验算法太多了

你只能推算来凑了,CRC多为双字节的,但也不绝对。不过从你改变顺序可获通过这一点上看,CRC是不可能的,只能是累加算法。

使用特权

评论回复
板凳
twz8858877| | 2007-1-20 13:36 | 只看该作者

如果是ASCII码数据

则很有可能采用的是LRC效验

使用特权

评论回复
地板
xwj| | 2007-1-20 13:47 | 只看该作者

先得到一大堆样本数据,在分析

以前战争时那么复杂的通讯加密、那么差的计算手段都能**,就别说你这个了

使用特权

评论回复
5
music513|  楼主 | 2007-1-22 11:04 | 只看该作者

非常感谢xwj的鼓励与chunyang的分析.

这段数据确实是累加校验,它是对当次数据区数据累加后,取反,再加上某一个数,这个数跟数据个数有关,但不是数据个数.具体我还在研究中.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

9

帖子

0

粉丝