159浏览

已解决 STM32F4 UART中断接收数据丢失,如何解决?

admin 2026-03-09 00:09 STM32 UART 中断 DMA
使用STM32F407,配置UART1中断接收,波特率115200。在大数据量传输时偶尔会出现数据丢失。\n已尝试:\n1. 增大接收缓冲区\n2. 提高中断优先级\n3. DMA接收模式\n\n但问题仍然存在,请问有什么其他思路?

3 个回答

a
admin 2026-03-10 19:55
最佳回答 15
检查一下HAL库的错误回调函数,看有没有ORE(Overrun Error)错误。如果有,需要清除ORE标志。
a
admin 2026-03-08 18:52
最佳回答 12
建议检查UART的FIFO配置,可以开启RXNE中断+IDLE中断的组合方式。同时建议DMA双缓冲模式,避免在处理数据时丢失新数据。
a
admin 2026-03-09 21:09
8
我之前遇到类似问题,是因为中断处理函数里做了太多操作导致的。把数据处理移到主循环,中断里只做数据搬运。
写下你的回答

登录后即可回答

立即登录