[STM32G0] 串口 DMA 一启用就卡死?用的是 G070

[复制链接]
522|16
 楼主| 公羊子丹 发表于 2025-6-12 07:18 | 显示全部楼层 |阅读模式
改成 DMA 模式后程序就不动了,CubeMX 配了好几遍也不对劲,怀疑中断没触发。
Clyde011 发表于 2025-6-12 07:24 | 显示全部楼层
DMA 配错方向也会这样,记得设成 memory to peripheral。
 楼主| 公羊子丹 发表于 2025-6-12 07:25 | 显示全部楼层
我之前也碰过,结果是忘开 DMA 的中断了……
周半梅 发表于 2025-6-12 07:27 | 显示全部楼层
HAL_UART_Transmit_DMA 用了没?别忘关 IDLE 检测。
帛灿灿 发表于 2025-6-12 07:28 | 显示全部楼层
看下 NVIC 配置是不是少了 USART 的 DMA 通道。
童雨竹 发表于 2025-6-12 07:29 | 显示全部楼层
用逻辑分析仪看看是不是数据根本没发出去。
万图 发表于 2025-6-12 07:30 | 显示全部楼层
有没有打开 USART 的 TX DMA 请求位?
Wordsworth 发表于 2025-6-12 07:31 | 显示全部楼层
我是用 LL 库做的,感觉比 HAL 更直观点。
Bblythe 发表于 2025-6-12 07:32 | 显示全部楼层
你有设 FIFO 模式吗?G0 有些版本支持。
Pulitzer 发表于 2025-6-12 07:32 | 显示全部楼层
把 DMA 中断服务函数打点调一下。
Uriah 发表于 2025-6-12 07:33 | 显示全部楼层
上拉电阻够吗?我以前用 10k 不行。
内政奇才 发表于 2025-6-12 12:54 | 显示全部楼层
串口的 TX 和 RX 引脚需正确配置为复用推挽输出模式和浮空输入模式。若配置错误,可能导致 DMA 传输异常,进而使系统卡死。
flycamelaaa 发表于 2025-6-12 14:00 | 显示全部楼层
串口线路可能受到外部电磁干扰,导致数据传输错误,引发 DMA 传输异常。
flycamelaaa 发表于 2025-6-12 16:56 | 显示全部楼层
DMA 通道配置冲突?
powerantone 发表于 2025-6-12 19:56 | 显示全部楼层
DMA 的传输方向、数据宽度、传输模式等参数设置错误,可能导致数据传输异常。
stormwind123 发表于 2025-6-12 20:00 | 显示全部楼层
中断优先级不合理?
probedog 发表于 2025-6-12 21:23 | 显示全部楼层
可能是中断服务函数处理不当导致的。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

6534

帖子

3

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