10 f407在进行tcp通信的情况下,能否使用uart2进行485通信

发布于 2021-06-09 22:19:23

使用stm32f407开发板,通过bsp里的env配置了tcpclient,tcp通信正常。现需要同时使用485进行通讯,在env里配置uart2时显示uart2 pin会与Ethernet冲突。测试过,使用uart2 的话,tcpclient无法连上服务端。
使用uart3的话,tcpclient能正常连上服务端,也能正常串口3通信,但与其他设备进行485通信时,仅能正常接收另一台设备发来的数据,但发出数据另一台设备无法正常接收(应该是电平的原因)。
之后尝试过使用modbus,但在ctx = modbus_new_rtu("/dev/uart2", 115200, 'N', 8, 1)中使用uart2,仍然会出现问题。
想请问一下各位,在硬件电路不更改的情况下(485通信使用uart2),能用什么好的方法同时进行tcp和485通信吗?还是说,压根就没有办法进行通信。
希望有了解的朋友能够指导指导,麻烦了,谢谢!

查看更多

关注者
0
被浏览
88
flashman2002
flashman2002 2021-06-10

看看硬件芯片的线管管脚的remap功能是否可以使用。

4 个回答
Aurora_zk
Aurora_zk 2021-06-10

这是硬件问题,没有办法

小小李sunny
小小李sunny 2021-06-10

同一个IO口,既用做串口,又用作网口,肯定是不行的。只能改硬件换IO口了

_dyx_越过山丘
_dyx_越过山丘 2 days ago

用了引脚重映射,将PD5、6功能复用在U2_RX、TX上,发现能正常通过串口2进行485通信,env中现实的矛盾应该是原本串口2的PA2、3两个引脚被占用了。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览