STM32外设介绍5(DMA<直接存储器访问>)
STM32外设介绍5:DMA(直接存储器访问)
在 STM32 开发中,DMA(Direct Memory Access) 是提升数据传输效率、降低 CPU 负担的重要机制。通过 DMA,可在外设与内存、内存与内存之间实现无需 CPU 参与的数据搬运,广泛应用于串口、ADC、SPI、内存拷贝等场景。
📌 一、什么是 DMA?
DMA(直接内存访问) 是一种在CPU 不参与的情况下完成数据搬运的机制。适用于大量数据、高速、实时性强的应用,例如:
- 串口收发大量数据(USART + DMA)
- 模拟采样自动存入数组(ADC + DMA)
- SPI 与外部 Flash 的通信(SPI + DMA)
- RAM 到 RAM 数据块拷贝(Mem-to-Mem)
DMA,全称是“直接内存访问”(Direct Memory Access),
你可以把它理解为 STM32 里的一个搬运工,专门帮 CPU 搬数据。
👨🔧 比喻一下:
你是 CPU,你在工厂里(STM32)上班,每次都要自己把原材料(数据)从仓库(外设)搬到生产线(内存)&#