GitPedia

Stm32 uart dma

STM32串口DMA模式发送&接收实现,高速串口通信(1.5Mbps)不丢数据

From Prry·Updated June 5, 2026·View on GitHub·

**stm32 uart dma** is a STM32串口DMA模式发送&接收实现,高速串口通信(1.5Mbps)不丢数据 The project is written primarily in C, first published in 2020. Key topics include: dma, fifo, stm32, uart.

STM32高速串口通信DMA收发实现

<br>

测试平台

平台主频BSP库串口
STM32F030C8T648MHz标准库UART1、UART2
STM32F103ZET672MHz标准库UART1、UART2
STM32H743XIH6400MHzHAL/LL库UART5
STM32F407VCT6168MHzHAL/LL库UART1
<br>

实现功能

  • 收/发环形缓冲区
  • 不定长度接收处理
  • 高速(1.5Mbps)通信不丢数据
<br>

关键实现

DMA发送模式

  • 线程循环查询发送环形缓冲区数据,然后启动MDA传输

  • DMA传输完成中断,连续发送

  • 定时器中断周期发送

<br>

DMA接收模式

  • DMA缓存半满中断(如CPU硬件支持,可使用DMA双缓存机制)
  • DMA缓存传输完成中断
  • 串口空闲中断实现
<br>

其他

更详细的描述过程参考文章一个严谨的STM32串口DMA发送&接收(1.5Mbps波特率)机制

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from Prry/stm32-uart-dma via the GitHub API.Last fetched: 6/18/2026