485多机通信掉包

asd3212323 2017-07-17 06:10:15
一个485总线上接了2个从机,主机发送指令从机响应,主机只对从机1号发送,从机1号正常响应,若主机对两个从机循环发送指令,2号从机不响应的话1号从机正常响应,2号从机响应则接下来一条对1号从机发送指令,1号从机无响应之后正常工作,这是为什么?
...全文
523 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Votangroom 2018-07-04
  • 打赏
  • 举报
回复
你用modbus啊...我没看出来你用的啥 I2C?
worldy 2018-05-17
  • 打赏
  • 举报
回复
需要一个安全通信的时间间隔,485是半双工通信,一个设备发数据的时候,另外的设备不能发数据 主机对多个从机,主机向一个从机发命令,要等待这个从机数据返回或者超时后,才可以向下一个从机发数据
asd3212323 2018-05-15
  • 打赏
  • 举报
回复
主机从机是遵循协议吗?一个发送接收然后下一个?
of123 2017-07-19
  • 打赏
  • 举报
回复
不要设计成整个系统自动循环的。 主机对哪一个从机通讯,首先发送从机地址。多数协议,这个地址帧采用的格式也与数据帧不同。 所有从机等待地址帧,如果与本从机地址匹配,则继续用数据帧进行后续通讯。具体流程要看协议约定,可以是主机再发,也可以是从机发送。 没有等到本机地址的从机,等待下一次的地址帧。
MULTISENSOR 2017-07-18
  • 打赏
  • 举报
回复
2号从机响应,那么接下来总线上应该出现从机2的响应信号,这时,其他机,不管是主机还是1号从机就不能占用总线了。否则信号就会破坏。所以,要等2号从机响应完全后,留点小时间,再对1号从机进行操作。毕竟是半双工的。总线要避免碰撞,要不你选择can就会好很多。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧