登录
首页 串口通信 串口通信
回帖 发帖
正文

主题:如何用监视串口得到的数据解析出通讯协议?

点击:11039 回复:13

各位工控界的前辈及高人:入工控这行也有几年了,喜欢捣鼓一些个东西,前两天在用单片机实验板做实验时想到,计算机通过串口往单片机烧录程序时,通讯协议是首先设定好的,那么如何能够根据监控到的串口数据反过来推算出串口的通讯协议呢?如果可以的话,具体如何做呢?请各位高人指点,能说的详细些最好,谢谢大家了,期待ing...........
附件是我往单片机(at89s51)里烧录一个小的程序的原程序及监视到的数据!
10-01-25 22:03
这个你要看通信协议了
10-02-24 06:58
用协议分析仪,或者带有协议分析功能的示波器
10-03-03 15:29
这里要分成两步分:一是传送到烧录器的数据通讯过程,二是烧录数据的控制过程。
不知你关心的是哪一部份。
数据通讯程中的协议定义,如果你能用监视程序记录,那么多做几次实验就分析出来。
方法是:通过给出你自己特定的数据来测试,比如你先给出一个数据全是为“55”的代码程序。通过监视得到一次完整的协议数据。再给出一个数据全为“EE”的代码。再次监视协议,通过对比可分析出数据与指令所在的位置。即协议中传输指令如:“特定字符....数据.....校验码“及操作指令”特定字符....类型....校验“。
关键是要多做几次,仔细对比。不难发现规律的。
我曾做过在数据流中找出特定数据。
如有需要可以联系我:QQ1171631838
10-03-24 19:32
我做过串口监听,分析过PLC的协议,对写单片机的通信没做过,但是,我认为两者是相同的,PLC不过也是一个以单片机为核心的控制系统。一般而言,串行通信的协议分为:modbus ASC 和RTU 两种祯格式,在这个基础上,很多公司对它们进行了改进,比如对 ASC格式的在编码定义,校验和计算,编码排序等方面;对于RTU各式的改进的更多,如功能码定义、数据编排等;做这些改进一般是想既兼容同类产品,又想有自己的独立知识产权,另外提高自己产品的性能,等等!因此,我想你首先必须搞清楚自己要发送出去的数据是什么?最好把这些16进制代码打印出来,再用荧光笔把其中的特定代码画出来!然后,去和你监听到的那份16进制代码资料作比较,首先找出起始码,再找出结束码,用荧光笔画出来,观察校验的计算方式,看看是ASC 校验和式还是RTU 的CRC格式,弄清楚了这些,你就会对他的通信协议一目了然了。以上经验仅供参考。
10-03-25 14:30
表情不懂在说什么啊!!!!
10-03-28 21:49
搞不懂。。
10-04-27 15:01
7楼
该帖内容不符合相关规定!
10-04-27 18:19
8楼
该帖内容不符合相关规定!
10-04-27 18:20
十分感谢楼上“cnhxg”和“shengpulin”高人的回复,感谢,我现正在按两位说的方法做,希望下次有问题时仍然能得到两位高人的指点。再次感谢!!!!
10-05-15 15:44

上一页下一页

工控新闻

更多新闻资讯