串口的DMA功能发送数据,检测到DMA发送完成后,把使能脚改为接收状态(如图A处)。但是这样子会导致有2个字节数据没发送,485使能脚就被改变为接收状态了(示波器图的绿色线)。最终导致发送数据失败。
如果把485的发送,不用DMA传输。然后再开启串口发送完成中断,在此中断中改变485的接收/发送,这样子是没问题的。
我的想法是:如果我坚持用DMA的方式发送数据,有什么办法能准确切换485的接收/发送引脚的状态的?
解决办法。
这个问题的答案就在参考手册里面,等待DMA传输完成后,还有等待TC发送完成标志才是真正的结束。
来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。