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

2019-07-21 04:58发布

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

目前有一个困惑,上位机的程序按照串口通讯开发的话,应该是全双工的;485是半双工。原子哥开发板上是通过控制gpio模拟半双工,但是pc的上位机程序我不知道怎么模拟半双工,求大神指点,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
oyixi001
1楼-- · 2019-07-21 16:12
如果你一定要485全双工也可以啦,用两片485,倆串口,一个专门发一个专门收。
但是实际上一般来说半双工就行了。一般来说485都是用的问答方式,一般由上位机发起提问,然后下位机收到后回复相应数据,所以呢收发一般是分开的。
zyf2020
2楼-- · 2019-07-21 21:45
不懂,帮顶
yklstudent
3楼-- · 2019-07-21 21:47
上位机随便,都可以实现你的需求,看你个人爱好了
IdeaMing
4楼-- · 2019-07-22 00:31
 精彩回答 2  元偷偷看……
sammy902583
5楼-- · 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, 不需要特别修改.



一周热门 更多>