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