[STM32F1] 用CubeMX配串口DMA,结果发不出数据?

[复制链接]
561|17
 楼主| 公羊子丹 发表于 2025-6-5 07:26 | 显示全部楼层 |阅读模式
明明开启了DMA,串口初始化也做了,HAL_UART_Transmit_DMA用着却没反应,是不是还要注意别的地方?

Clyde011 发表于 2025-6-5 07:32 | 显示全部楼层
我用CubeMX默认配置过一次,确实也发不出数据。
 楼主| 公羊子丹 发表于 2025-6-5 07:33 | 显示全部楼层
是不是串口先得打开才能走DMA啊?
周半梅 发表于 2025-6-5 07:34 | 显示全部楼层
我遇到过,是NVIC没开中断,DMA没跑起来。
帛灿灿 发表于 2025-6-5 07:35 | 显示全部楼层
检查一下DMA请求通道选对没?
童雨竹 发表于 2025-6-5 07:36 | 显示全部楼层
会不会是发送长度设错了?
万图 发表于 2025-6-5 07:37 | 显示全部楼层
HAL库用起来感觉就是容易忽略细节。
Wordsworth 发表于 2025-6-5 07:38 | 显示全部楼层
我后来改成中断发送就好了。
Bblythe 发表于 2025-6-5 07:38 | 显示全部楼层
试试先用普通发送跑通再上DMA。
Pulitzer 发表于 2025-6-5 07:39 | 显示全部楼层
有没有可能缓存区没准备好?
Uriah 发表于 2025-6-5 07:40 | 显示全部楼层
有没有用DMA发送完成回调函数?
powerantone 发表于 2025-6-5 16:42 | 显示全部楼层
DMA通道是否已正确配置?
flycamelaaa 发表于 2025-6-5 16:45 | 显示全部楼层
在使用DMA接收和发送时避免资源冲突。
duo点 发表于 2025-6-5 16:46 | 显示全部楼层
检查代码逻辑是否正确无误。
onlycook 发表于 2025-6-5 16:48 | 显示全部楼层
检查中断和回调函数配置。
stormwind123 发表于 2025-6-5 18:00 | 显示全部楼层
检查内存和外设地址递增设置是否正确。
classroom 发表于 2025-6-5 18:00 | 显示全部楼层
DMA传输完成后,需清除传输完成标志位,否则可能导致后续传输无法启动。可以在DMA中断回调函数中处理传输完成事件,并重新启动DMA传输。
probedog 发表于 2025-6-5 19:30 | 显示全部楼层
检查波特率、数据位、停止位、校验位等参数是否与接收端一致。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

6534

帖子

3

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