stm32f207 RS485 问题
请教一下,我现在使用stm32f207 的usart3作RS485的数据发送,PD3作为控制io,发送的基本逻辑是
1、先将pd3置高
2、发送数据,等TXE==RESET
3、将pd3拉低
发现每次发送数据,串口助手会少收到数据
后来用示波器观察TXD和PD3,发现每次数据没发送完,pd3就拉低。
请问这是什么原因?难道txe==reset并不能代表发送数据完成了么?
我现在只能在2、3步之间加了个延时,但是我觉得只是规避了问题,还不知道真正的问题出在哪儿,希望哪位帮我解答一下,谢谢!
回复:stm32f207 RS485 问题
自己回复,查阅资料后发现TXE是发送寄存器空标志,真正在发送完成标志是TC。RE:stm32f207 RS485 问题
是的,TXE后还有整整一个字节在移位寄存器里面,如果让DMA帮你送数据的话,开始发送后,只要开TC中断等它来了就可以切换485芯片到接收状态了。 求 详解:) 请问103和207编程的差别大吗?
页:
[1]