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

[复制链接]
3759|4
 楼主| music513 发表于 2007-1-19 13:33 | 显示全部楼层 |阅读模式
我从一部小机器串口上读到一串数据,现在分析出了命令与数据的结构,但是最后的一个字节比较特别,我觉得可能是校验。因为在数据区改变一个值后回传,机器无反应。但是改变数据区数据的顺序,机器能正常工作,只是显示有些变化。<br />我分别试过了对(命令+数据)与(数据)的异或、求和。但是结果与它数据的最后的字节都不同。<br />CRC校验应该与数据的顺序有关吧?那还会有什么校验呢?还请高手帮忙分析一下。
chunyang 发表于 2007-1-19 16:29 | 显示全部楼层

校验算法太多了

你只能推算来凑了,CRC多为双字节的,但也不绝对。不过从你改变顺序可获通过这一点上看,CRC是不可能的,只能是累加算法。
twz8858877 发表于 2007-1-20 13:36 | 显示全部楼层

如果是ASCII码数据

则很有可能采用的是LRC效验
xwj 发表于 2007-1-20 13:47 | 显示全部楼层

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

以前战争时那么复杂的通讯加密、那么差的计算手段都能**,就别说你这个了
 楼主| music513 发表于 2007-1-22 11:04 | 显示全部楼层

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

这段数据确实是累加校验,它是对当次数据区数据累加后,取反,再加上某一个数,这个数跟数据个数有关,但不是数据个数.具体我还在研究中.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部