关于串口通信协议的疑惑

2019-08-13 20:46发布

本帖最后由 KC1265005878 于 2017-10-10 16:03 编辑

麻烦各位大神指导下,看看这个是不是完整的一个通信协议,有两种理解方式,很困惑,搞了很久还是弄不明白


第一种理解,这个是完整的应用层通信协议,0x2D是包头,0x20是包尾,中间是数据。
第二种理解,这个不是完整的通信协议,只是把对应的数据给显示出来,包头包尾没有显示出来,只显示对应的数据。

分数不多,麻烦大神们能够给予指导下,谢谢。。。。。。
因为要加上自己的通信协议,再打包上传给上位机,所以要确认这个是不是完整的通信协议。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
一起哈皮
1楼-- · 2019-08-13 21:16
你这不就是串口传输一个固定格式的小数吗,一个好的简单的通信协议帧应该至少包含帧头、数据帧和crc校验码以确保数据是正确的,你这是纯数据,正负号并不是帧头,也是数据的一部分
lvkanger
2楼-- · 2019-08-13 23:31
这个设备应该是单向通信的吧?只要上电会一直往外吐数据。如果是这样,你就可以认为这是一个完整的通信协议,根据这个协议去把数据收过来,然后再打包到你自己与上位机的协议里边去就可以了
KC1265005878
3楼-- · 2019-08-14 00:23
lvkanger 发表于 2017-10-10 16:25
这个设备应该是单向通信的吧?只要上电会一直往外吐数据。如果是这样,你就可以认为这是一个完整的通信协议 ...

恩恩,这个是龙成DLB-1000A电流表,它数据会一直往外发的,不是应答模式。
我还有个安捷伦34401A的电压表,但它是应答模式的,就是发个命令,才有数据读出。
        它返回的数据  2D 39 2E 36 20 33 34 30 30 30 30 45 2D 30 35 0D 0A
        代表的值为     -9.6 340000E-05
它返回的数据代表的物理值多少,这个知道,2D代表“-”,2E代表“.”,但现在不知道它数据什么时候代表开始接收,接收的数据包头包尾不知道。那电压表这种也可以用
2D作为包头,0D 0A作为包尾,当成完整的协议吗?
谢谢大神!!
slsdz
4楼-- · 2019-08-14 02:19
 精彩回答 2  元偷偷看……
KC1265005878
5楼-- · 2019-08-14 08:05
slsdz 发表于 2017-10-10 16:38
不是完整的通讯协议,0X2D和0X20是数据代表正负,一般包括帧头帧尾校验...
协议就是双方约定,一方说啥另一 ...

但是如果不知道它完整的协议,就无法把它的数据给解析出来,那后面的再加自己的协议就不知道怎么做。厂家也不提供类似的资料
slsdz
6楼-- · 2019-08-14 10:22
KC1265005878 发表于 2017-10-10 16:40
但是如果不知道它完整的协议,就无法把它的数据给解析出来,那后面的再加自己的协议就不知道怎么做。厂家 ...

还以为你要定义协议。
只吐这些数据,判断0x20就行

一周热门 更多>