打印

寻求stm32串口数据传输设计灵感

[复制链接]
2103|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linc676085|  楼主 | 2013-1-23 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方案描述:
       当上位机传0x51命令码给下位机的时候,下位机传回以下节点数据。当上位机传0x52给下位机的时候,下位机根据上位机的传输过来的节点,反馈回相对应的节点+数值
11.24.8.0:温度值;
11.24.5.0:射频值;
11.24.10.0:调制度;
11.24.7.2.1:-5V电压;
11.24.7.2:+5V电压;
11.24.16.0:开关次数;
11.24.12.0:工作模式;

问题:多个节点条目,下位机怎么根据一个命令码解析相应的节点,并反馈回相应的节点呢?
有没有前辈知道,可否指点一二。

沙发
song19881218| | 2013-1-23 14:28 | 只看该作者
参考一下modbus设计思想

使用特权

评论回复
板凳
linc676085|  楼主 | 2013-1-23 14:31 | 只看该作者
song19881218 发表于 2013-1-23 14:28
参考一下modbus设计思想

感谢指点。

使用特权

评论回复
地板
uet_cache| | 2013-1-23 14:53 | 只看该作者
协议帧定义好就行。

使用特权

评论回复
5
linc676085|  楼主 | 2013-1-23 15:29 | 只看该作者
uet_cache 发表于 2013-1-23 14:53
协议帧定义好就行。

感谢前辈回复。
协议帧定义好后根据什么去查询获取相关节点的参数?

使用特权

评论回复
6
uet_cache| | 2013-1-23 15:33 | 只看该作者
不是有定义吗?协议需要自己定。比如,第几个字节表示节点,第几个字节表示参数值。。。最好再加个检验和。这样就不用MODUBS协议,而且准确度也高。。。

使用特权

评论回复
7
linc676085|  楼主 | 2013-1-23 15:46 | 只看该作者
uet_cache 发表于 2013-1-23 15:33
不是有定义吗?协议需要自己定。比如,第几个字节表示节点,第几个字节表示参数值。。。最好再加个检验和。 ...

哦哦哦,那根据实际需求,我上位机需发送0x52给下位机,下位机则要根据这个命令反馈回某一条节点和值,那怎么处理呢?

使用特权

评论回复
8
uet_cache| | 2013-1-23 15:49 | 只看该作者
那下位机收到命令就返回一组数据就行了啊。。还需要怎么处理?

使用特权

评论回复
9
linc676085|  楼主 | 2013-1-23 15:53 | 只看该作者
uet_cache 发表于 2013-1-23 15:49
那下位机收到命令就返回一组数据就行了啊。。还需要怎么处理?

感谢,前辈。我明白您的意思了。

使用特权

评论回复
10
uet_cache| | 2013-1-23 16:17 | 只看该作者
这个通讯是双向的。缺一方就无意义。。所以协议要提前定义好。。才好实践。。

使用特权

评论回复
11
lyn3210| | 2013-1-24 09:48 | 只看该作者
参考ARP协议对结点分配地址,再寻址。

使用特权

评论回复
12
linc676085|  楼主 | 2013-1-24 09:48 | 只看该作者
uet_cache 发表于 2013-1-23 16:17
这个通讯是双向的。缺一方就无意义。。所以协议要提前定义好。。才好实践。。 ...

感谢您的提醒。

使用特权

评论回复
13
jgphu| | 2013-2-17 16:22 | 只看该作者
就是说 你的双向通信的命令和数据都要封装一下(当然是按自己的要求封装)就可以实现的,很简单的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

42

帖子

1

粉丝