485多机通信问题

2019-07-20 10:40发布

   各位,请教一个问题,现在我用三个485设备 设备A 设备B 设备C 连接在一起,使用串口调试助手发送数据,三个设备都可以接收。
   现在我调试助手发送一条指令,让设备A,B,C分别把自己的地址发给上位机。设备在进行回复的时候,打开了串口IDLE(空闲中断),用来判断当前总线是否有其他通信,确保总线只被一个设备使用
   但是这么做还是只能收到一个设备的回复,有时候俩,都是随机的。。。。
  (前提:不知道总线上挂了多少设备,更不知设备地址。)

    请路过的大神给个思路



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
m_ml
1楼-- · 2019-07-20 12:36
 精彩回答 2  元偷偷看……
jermy_z
2楼-- · 2019-07-20 17:14
像这种硬件方式,最好不要问一句,所有机器都应答,因为有可能造成设备同时判定空闲,一起发送。至于挂了多少设备,设备地址,那是人的管理问题
hi我歌月徘徊
3楼-- · 2019-07-20 21:17
现在的问题是总线判忙,每个设备都是一样的代码,都使用空闲中断判忙,当调试助手发送命令之后,所有设备都判断到总线空闲了,所有会有一台设备随机性占用总线,其他两台设备就拿不到总线的使用权,但是串口并不知道,所以调试助手只收到一台设备的回复
hi我歌月徘徊
4楼-- · 2019-07-20 23:54
 精彩回答 2  元偷偷看……
hi我歌月徘徊
5楼-- · 2019-07-21 02:48
 精彩回答 2  元偷偷看……
hi我歌月徘徊
6楼-- · 2019-07-21 07:40
jermy_z 发表于 2017-11-28 10:06
像这种硬件方式,最好不要问一句,所有机器都应答,因为有可能造成设备同时判定空闲,一起发送。至于挂了多 ...

如果真有这种需求 那么尝试下吧

一周热门 更多>