(已解决)帮分析一下这个232串口通讯数据格式,晕了。。。

[复制链接]
4800|6
 楼主| ocon 发表于 2009-8-20 05:56 | 显示全部楼层 |阅读模式
本帖最后由 ocon 于 2009-8-21 00:42 编辑

这是个老设备上的RS232串口,**到下列数据,不清楚的是它末尾的校验字节的生成方法:
0FFC10000C0
1FFC10100C1
2FFC10200C2
3FFC10300C3
4FFC10400C4
9FFC10900C9
10FFC10A00D1
11FFC10B00D2
255FFC1FF00EC
256FFC10001C1

1234FFC1D204DA

前面是要传送的16位数据,空格后面是实际**到的数据,每帧数据用0x2做头,接着是指令FFC1和数据的低8位和高8位,再接上校验字节,0x3做结束标志,这里显示不出0x2和0x3,其他都是ASCII码。

哪位出手帮分析一下它的校验字是按什么规则生成的,我试过用XOR,结果跟听到的数据对不上号。
mohanwei 发表于 2009-8-20 08:54 | 显示全部楼层
我以前发贴说过的请两个人一个5K一天另一个4k一天,干的就是类似这样的活了

这个要么对行业背景了解(正规的肯定要采用xx国标规约),要么把几乎所有数据帧抓出来,有一个模拟器会更快。

从0-9可以看到就是简单的转换为十六进制后的8位累加和。例如0:
0xff,0xc1,0x00,0x00累加等于0xc0
但是后面的又不符合了
一只小蜗牛 发表于 2009-8-20 16:45 | 显示全部楼层
很难逆推出那个编码的多项表达式,难啊。。。
clizhi 发表于 2009-8-20 17:12 | 显示全部楼层
不知道具体是什么设备,如果有PC端软件就可以反汇编去找,没有的话就多找些示例找规律,一般都不会很复杂的
 楼主| ocon 发表于 2009-8-20 18:19 | 显示全部楼层
问题已解决,就是累加和,不过是用ASCII码表示的,昨晚太累了脑子短路想不出来。
 楼主| ocon 发表于 2009-8-20 18:54 | 显示全部楼层
忘了说:多谢2楼启发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

4997

帖子

14

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