打印
[STM32L0]

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

[复制链接]
234|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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标志触发。

使用特权

评论回复
5
帛灿灿| | 2025-6-1 08:49 | 只看该作者
用HAL_UARTEx_ReceiveToIdle你试过吗?

使用特权

评论回复
6
童雨竹| | 2025-6-1 08:50 | 只看该作者
DMA收完得自己处理空闲中断才行。

使用特权

评论回复
7
万图| | 2025-6-1 08:50 | 只看该作者
我以前是用环形缓冲区+IDLE搞定的。

使用特权

评论回复
8
Wordsworth| | 2025-6-1 08:51 | 只看该作者
如果是定长接收,可以直接用DMA,效率高。

使用特权

评论回复
9
Bblythe| | 2025-6-1 08:52 | 只看该作者
有个HAL_UART_RxCpltCallback,试试用它。

使用特权

评论回复
10
Pulitzer| | 2025-6-1 08:53 | 只看该作者
CubeMX里配置DMA模式,别忘开中断。

使用特权

评论回复
11
Uriah|  楼主 | 2025-6-1 08:55 | 只看该作者
HAL库和LL库处理方式差挺多的,注意看文档。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

5059

帖子

1

粉丝