485多机通信问题

2019-07-20 10:40发布

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

    请路过的大神给个思路



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
liuchang
1楼-- · 2019-07-22 03:57
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-22 07:39
485通信,假设是modbus,应该有个地址范围,比如0~255,你可以从0开始轮询,一直到255,只有地址匹配的设备才应答,这样主机只要循环一次,就可以知道所有设备。虽然比较耗时间(假设50ms通信一次,那就需要256*50ms,才能轮询完)
正点原子
3楼-- · 2019-07-22 08:29
 精彩回答 2  元偷偷看……
hi我歌月徘徊
4楼-- · 2019-07-22 10:16
 精彩回答 2  元偷偷看……
hi我歌月徘徊
5楼-- · 2019-07-22 10:18
m_ml 发表于 2017-11-30 22:19
设计思路请参考:主机先发送一条联机协议,下面若干台485设备(一般最大能支持到32路)同时接收,每台485设 ...

嗯嗯

一周热门 更多>