485总线抢占冲突问题

        假如当前有一个主机,和两个从机,主机发送msg1给从机1,10毫秒后,发送msg2给从机2。

        然后从机1和从机2都会回复报文给主机,但是如果从机2想要回复给主机的时候,从机1正在发送报文给主机,这时候会怎么样?


        会冲突。

        在RS485总线是半双工通信,同一时刻只能有一个设备发送数据。如果从机2在从机1正在发送报文给主机的时候尝试发送回复报文,将会发生冲突,导致数据错误或丢失。


        怎么办:

  1.         分配每个设备发送数据的时隙,避免同时发送数据
  2.         使用冲突检测和避免机制(如CSMA/CD),在发送数据前先检测总线是否空闲

你可能感兴趣的:(笔记,物联网)