上位机程序如何通过485与设备通信的一个疑惑

2019-07-21 04:58发布

参考原子的代码已经实现了开发板与设备的通讯,功能验证完毕。现在要做一个上位机程序(usb转485)与设备通讯,主要是一些配置功能。

目前有一个困惑,上位机的程序按照串口通讯开发的话,应该是全双工的;485是半双工。原子哥开发板上是通过控制gpio模拟半双工,但是pc的上位机程序我不知道怎么模拟半双工,求大神指点,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
sammy902583
2019-07-22 04:26
本帖最后由 sammy902583 于 2019-2-26 15:46 编辑

其实上位机没有RS485的概念, 有的概念就只是收和发, 还有Modem pin控制(RTS...等).

实作的时候要去看实际上位机控制的线路有没有自动控制SP3485电平转换芯片DE脚的功能(很多Super IO/EC/USB to Uart有这个功能, 但是要正确拉线, 且正确配置), 如果有这个功能的话, 就省事多了, 就直接当作普通的Uart控制就行了, 没有需要做任何修改.
若是用了没有控制DE脚的功能, 必须想办法拉出一个GPIO或Modem Pin去控制, 那上位机就要另外写代码去拉DE, 就和原子哥在STM32上面做的一样.

半双工的运行方式, 默认的状态就是在收, 当你的代码要发送资料的时候, 才去切SP3485变成发送状态.

另外全双工的RS485, 叫做RS422, 要两颗SP3485, 这种架构对于软件来说等同普通Uart, 不需要特别修改.



一周热门 更多>