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

基于stm32的rs485总线

4ttwet2 2017-03-02 浏览量:1364
用stm32怎么实现一个主机对应多个从机进行通信呢?有没有程序,参考一下呗?谢谢啦!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 回答问题的各位,你们的RS485是使用的SPI或是I2C的么?工业应用的这个总线,我工作这么多年了,还从来没有见过使用SPI或是I2C的RS485的。如果有,那还真是奇葩的。



    RS485总线是差分信号,是为是抗干扰。

    使用串口,接485的电平转换芯片,出两条485电平的总线。

    也就是说,你在STM32上会用串口了,RS485也是一样的。


    在使用自动换向的电路中,只要操作串口就可以驱动总线,但是在使用光耦手动换向时,要对485芯片的换向进行控制。

    关于一主多从的问题。关键是要看协议的。如在RS4485上用的最多的Modbus协议。主机从机你要在程序上进行区分而不是在硬件上。
    如下是RS485的总线布线图:

    • 发布于 2017-03-03
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:10
  • 你有很多选择,推荐spi,这是最简单的,速度和效率也是最高的,一个主机,挂很多stm32从机,妥妥的
    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • spi是比较简单的,还有i2c都可以用,具体的需要你学习一下这个总线协议
    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 485的通信方式,在32下没写过,但你可以参照51的去写一下,网上还是有很多的额
    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 485的通信方式,在32下没写过,但你可以参照51的去写一下,网上还是有很多的额
    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考这个,挺详细的。

    http://blog.csdn.net/yx_l128125/article/details/7914102​

    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • I2C SPI,485,不过485刘需要外加485转换的芯片了!
    • 发布于2017-03-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 网上一大堆啊,实在找不到就淘宝一下喽
    • 发布于2017-03-03
    • 举报
    • 评论 0
    • 0
    • 0

  • SPI和I2C都可以實現喔

    SPI用CS來切換從機

    I2C用Address來確認哪個從機

    以上供參考

    • 发布于2017-03-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 基于rs485的话,用不同uart串口,来连接不同从机,并在通讯的时候可以添加不同的地址码来区分。
    • 发布于2017-03-03
    • 举报
    • 评论 0
    • 0
    • 0

  • RS485一般用UART总线实现转换,加一个485的转换器就行

    这里有个例子:http://blog.csdn.net/yx_l128125/article/details/7914102,里面硬件和软件方案都有了,照着改就行

    至于你说的第二个问题,一主多从式,用I2C\SPI都能实现,就拿485来说,A机为主,B1B2B3B4等为从,那么当A机需要给B1机通信时就屏蔽掉其他的就行。

    • 发布于2017-03-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

基于stm32的rs485总线