1、485多机通信的时候,每个从机是需要设置唯一一个地址的,不知道楼主有没有给每个从机分配一个地址;
2、每个从机在接收到主机发来的数据时,需要校验地址,看是不是发给自己的,如果地址不是自己的,就不要做应答,否则,如果同时有多个从机在应答,那么总线就会有冲突;
3、从机只有在应答的时候,才会处理发送状态,其他时刻都应该设置成接收状态,并且在应答完成后,要等待很小的一段时间,再将状态设置成接受状态,目的就是为了让最后一个停止位发送出去
综上,楼主的硬件应该没有问题,关键应该在软件处理上,最大的可能就是没有做地址校验,造成了两个从机同时应答,从而出现了通信错误……
1、485多机通信的时候,每个从机是需要设置唯一一个地址的,不知道楼主有没有给每个从机分配一个地址;
2、每个从机在接收到主机发来的数据时,需要校验地址,看是不是发给自己的,如果地址不是自己的,就不要做应答,否则,如果同时有多个从机在应答,那么总线就会有冲突;
3、从机只有在应答的时候,才会处理发送状态,其他时刻都应该设置成接收状态,并且在应答完成后,要等待很小的一段时间,再将状态设置成接受状态,目的就是为了让最后一个停止位发送出去
综上,楼主的硬件应该没有问题,关键应该在软件处理上,最大的可能就是没有做地址校验,造成了两个从机同时应答,从而出现了通信错误……
举报