[STM32L0] 开了DMA之后USART不进接收中断了是正常的吗

[复制链接]
 楼主| Uriah 发表于 2025-6-1 08:46 | 显示全部楼层 |阅读模式
串口DMA接收能收到数据,就是不进中断,之前没用DMA的时候中断好好的。
Clyde011 发表于 2025-6-1 08:47 | 显示全部楼层
用逻辑分析仪抓一下,看DMA数据有没有进。
公羊子丹 发表于 2025-6-1 08:47 | 显示全部楼层
是的,DMA用了就不能靠RXNE中断了。
周半梅 发表于 2025-6-1 08:48 | 显示全部楼层
要改成DMA中断模式,用IDLE标志触发。
帛灿灿 发表于 2025-6-1 08:49 | 显示全部楼层
用HAL_UARTEx_ReceiveToIdle你试过吗?
童雨竹 发表于 2025-6-1 08:50 | 显示全部楼层
DMA收完得自己处理空闲中断才行。
万图 发表于 2025-6-1 08:50 | 显示全部楼层
我以前是用环形缓冲区+IDLE搞定的。
Wordsworth 发表于 2025-6-1 08:51 | 显示全部楼层
如果是定长接收,可以直接用DMA,效率高。
Bblythe 发表于 2025-6-1 08:52 | 显示全部楼层
有个HAL_UART_RxCpltCallback,试试用它。
Pulitzer 发表于 2025-6-1 08:53 | 显示全部楼层
CubeMX里配置DMA模式,别忘开中断。
 楼主| Uriah 发表于 2025-6-1 08:55 | 显示全部楼层
HAL库和LL库处理方式差挺多的,注意看文档。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

139

主题

5850

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部