rs485的通信方式看似比较简单,其实通信软件的处理还是有需要注意的。
下图是主机向从机发送信息的示意图,其中485的线都是手牵手相连的,因此主机向下发的时候,其实各个从机都有在接收数据的,只是,从机是根据地址来区分是否是发给自己的,
举例:
1、如果主机发送信息中,带有地址1,
2、则从机1认为是发送自己的数据,因此需要解析,然后如果需要返回,则向外发送数据(这里暂时不说向主机发送)
3、主机2、3则根据地址来判断不是发给自己的,因此即使接收到数据,也不予理会,不解析、不发送任何信息,以免和从机1发送向冲突,导致主机接收数据错误,俗称数据粘包。
数据发送的过程分析:
从机1 发送信息,那么主机、从机1,2都会接收数据,因此,从机1发送数据的格式如果设定不合理的话,导致从机2,3会以为是主机发送的数据,进而去解析,
因此从机的数据解析一定要比较健壮,否则会导致其他从机解析数据而发送出去,和从机1进行竞争,导致通信故障。