Skip to content

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

Notifications You must be signed in to change notification settings

ErnestChen1/stm32-uart-dma

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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


测试平台

平台 晶振 BSP库 串口
STM32F030C8T6 12MHz 标准库 UART1、UART2
STM32F103ZET6 8MHz 标准库 UART1、UART2
...

实现功能

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

关键实现

DMA发送模式

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

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

  • 定时器中断周期发送


DMA接收模式

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

其他

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 83.0%
  • Assembly 14.7%
  • HTML 1.3%
  • C++ 0.8%
  • Objective-C 0.1%
  • Batchfile 0.1%