STM32 串口DMA发送未发送完数据

本文探讨了485通信中使用DMA发送数据时遇到的问题,特别是在发送完成中断后仍有数据未完全发送的情况。文章指出,DMA发送完成仅意味着最后一个字节已写入发送寄存器,而非实际发送完毕,强调了正确处理串口发送完成中断的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在485通信中,利用DMA发送完成中断置位/RE接收,发现中断执行结束之后,还有两个字节未发送完,所以存在数据不能发送的问题

发送完成中断产生后,还有一个字节没发呢。dma发送完成是指传输完成,dma将最后一个字节写入了发送寄存器。这时中断产生,最后一个字节还没发送。

发送完成中断,并不代表数据都发出了,要用串口发送完成中断

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值