最近在调试RS485通讯模块,使用的是AT32F403A的UART8串口,对应引脚PE0,PE1。
但是接收正常,就是无法正常发送。串口助手调试收不到反馈数据。在线仿真查看接收和发送的数据,都对,就是发送出去后受影响,电路也没问题。
拿示波器查看,接收时捕捉的波形是对的,但是输出的就不对,发送的数据不规则,密密麻麻,频率达到纳秒级。
翻阅数据手册,查看引脚功能,发现PE0,PE1复用时,是被UART8和XMC模块共用的,所有复用信号输出根据参考手册的复用说明是会加在一起的。
其中PE0作为UART_RX接收,配置为普通的输入就行,不受影响,正常接收。
但PE1作为UART_TX发送,得配置为复用推挽输出,是被两个模块共用的。