# stm32f0-uart-dma **Repository Path**: david_gdg/stm32f0-uart-dma ## Basic Information - **Project Name**: stm32f0-uart-dma - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-20 - **Last Updated**: 2025-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32高速串口通信DMA收发实现
## 测试平台 | 平台 | 主频 | BSP库 | 串口 | | ------------- | ------ | -------- | ------------ | | STM32F030C8T6 | 48MHz | 标准库 | UART1、UART2 | | STM32F103ZET6 | 72MHz | 标准库 | UART1、UART2 | | STM32H743XIH6 | 400MHz | HAL/LL库 | UART5 | | STM32F407VCT6 | 168MHz | HAL/LL库 | UART1 |
## 实现功能 * 收/发环形缓冲区 * 不定长度接收处理 * 高速(1.5Mbps)通信不丢数据
## 关键实现 ### DMA发送模式 * 线程循环查询发送环形缓冲区数据,然后启动MDA传输 * DMA传输完成中断,连续发送 * 定时器中断周期发送
### DMA接收模式 * DMA缓存半满中断(如CPU硬件支持,可使用DMA双缓存机制) * DMA缓存传输完成中断 * 串口空闲中断实现
## 其他 更详细的描述过程参考文章[一个严谨的STM32串口DMA发送&接收(1.5Mbps波特率)机制](https://blog.csdn.net/qq_20553613/article/details/108367512)