stm32 HAL usart 单线半双工串口 DMA发送 最后一个字节发不出来解决方法
使用stm32串口发送数据 ,串口是单线半双工模式,要求数据发送前串口变成发送模式,发送完后立即变回接收模式,发送操作使用DMA来发送,程序开了串口中断和DMA中断,串口中断主要是用于接收与解析数据,DMA中断是想用于操作串口收发模式切换,发现DMA发送时最后一个数据老是发不出来。问题解决,猜测原因,大概率是uart的TC寄存器,由于某种原因,导致在发送中间被置位,但是在发送中没有复位的命令。查看后发现文章方法,并不适用于当前的HAL库。
原创
2022-12-10 01:29:20 ·
1422 阅读 ·
0 评论