• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

485多机通信问题

什么是51 2018-08-14 浏览量:1781
三块板子的485通讯,两两之间正常通信,第三块板子一接上就全都收不到数据,主机能正常发送,从机接收不到数据。通信步骤为
1.主机每隔一秒依次循环发送{11111}和{22222}发送完成后均变为接收状态
2.两台从机接收到对应的数据后向主机返回数据
3主机接收到数据将数据在屏幕显示出来。
用万用表测空闲时ab管脚之间的电压,均大于200mv,120欧电阻接与不接均收不到数据,上下拉电阻用的3600欧,芯片用的sp3485,485电路与战舰板结构相同。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、485多机通信的时候,每个从机是需要设置唯一一个地址的,不知道楼主有没有给每个从机分配一个地址;

    2、每个从机在接收到主机发来的数据时,需要校验地址,看是不是发给自己的,如果地址不是自己的,就不要做应答,否则,如果同时有多个从机在应答,那么总线就会有冲突;

    3、从机只有在应答的时候,才会处理发送状态,其他时刻都应该设置成接收状态,并且在应答完成后,要等待很小的一段时间,再将状态设置成接受状态,目的就是为了让最后一个停止位发送出去;


    综上,楼主的硬件应该没有问题,关键应该在软件处理上,最大的可能就是没有做地址校验,造成了两个从机同时应答,从而出现了通信错误……

    • 发布于 2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • RS485规定同一时间只能由一个设备发数据,你这里从机收到数据之后是否同时设为发送状态了

    此外,485收发数据的时序是否正确

    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 3
    • 0

  • 485总线多机通信没问题呀,设备地址给的正确吗?
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 1
    • 0

  • 匹配电阻选择是否合适
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 1、485通讯,任何时候都只能是一个设备在发送。在你的案例中,很有可能是你主机发送,两个从机接收,都一起回复,造成通讯堵塞。

         所以,大家一般的做法是:给每个设备编码,设置唯一地址。主机每次只能问一个设备,发出含有ID的询问数据帧,所有设备都会接收这个数据帧,但是只有符合这个ID的设备做出应答,其他都保持接收状态。


    2、调试485的时候,可以用示波器查看总线波形,也可以买个USB转485的模块,方便调试。

    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 必须是一个设备发一个设备收,必须保证这一点,不管你是否贴换收发状态,
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 收到检查一下你的设备地址是否正确,多机通信最容易出现的问题就是地址错误
    • 发布于2018-08-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议用示波器看一下,然后观测两个设备发送时候总线状态,很有可能是从机发送时候两从机通讯冲突了!
    • 发布于2018-08-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看一下你的通信线路的阻抗匹配,是否线路的阻抗匹配已经做好
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是检查你的通信从站地址,是否地址有冲突的情况
    • 发布于2018-08-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 你两个从机在收到数据之后都设置为发送状态了,这违反了485协议中同一时间只能有一个发送机的规定,当然无法继续通信了。
    • 发布于2018-08-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

485多机通信问题