当前位置: 代码迷 >> 单片机 >> 串口校验,该怎么解决
  详细解决方案

串口校验,该怎么解决

热度:273   发布时间:2016-04-28 16:26:17.0
串口校验
电脑发送给手机有以下几条数据指令

7e 15 01 00 00 00 01 00 00 00 02 00 00 00 be bb 7e
7e 15 01 00 00 00 01 00 00 00 03 00 00 00 05 a7 7e
7e 15 01 00 00 00 01 00 00 00 04 00 00 00 24 f0 7e
7e 15 01 00 00 00 01 00 00 00 05 00 00 00 9f ec 7e
7e 15 01 00 00 00 01 00 00 00 06 00 00 00 52 c9 7e
7e 15 01 00 00 00 01 00 00 00 07 00 00 00 e9 d5 7e
7e 15 01 00 00 00 01 00 00 00 08 00 00 00 10 67 7e
7e 15 01 00 00 00 01 00 00 00 09 00 00 00 ab 7b 7e


倒数第二,三个字节应该是校验位,帮忙找下这两字节产生规律,知道校验方法更好了。



------解决方案--------------------
你反汇编一下电脑的程序,找出这些数据的来源
------解决方案--------------------
楼主确定倒数第二,三个字节是校验位??

这样看根本就看不出啥规律,不看源码或者说明,很难找

串口校验很多种的,也可能是他自己定的协议呢

你可以试试CRC校验,不过CRC校验也有好几种,不同的起始位,得到的校验码也是不一样的
------解决方案--------------------
你监视一个周期,把反馈的数据等一起分析,

------解决方案--------------------
用这个工具配合反向工程,不断尝试就能找出规律

下载地址:
http://download.cnet.com/ComTrace/3000-2218_4-75156892.html?tag=mncol

感觉好别忘了给个review(评论),谢谢!
------解决方案--------------------
crc16吧 ccitt 看着像hdlc协议
------解决方案--------------------
Crc16校验码一共就两种,代码网上有都是。
你可去掉两头帧头帧尾(7E),算一下就知道了,CCITT可能性较大
  相关解决方案