公羊子丹 发表于 2025-6-5 07:26

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

明明开启了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

检查波特率、数据位、停止位、校验位等参数是否与接收端一致。
页: [1]
查看完整版本: 用CubeMX配串口DMA,结果发不出数据?