STM32实例-DMA实验


DMA 可用于实现外设与存储器之间或者存储器与存储器之间数据传输的高效性。
DMA 可用于实现外设与存储器之间或者存储器与存储器之间数据传输的高效性。
在STM32控制器中,芯片采用Cortex-M3架构,总线结构有了很大的优化,DMA占用另外的总线,并不会与CPU的系统总线发生冲突。也就是说,DMA的使用不会影响CPU的运行速度。
DMA是直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
DMA有什么用?直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
项目做到一半,碰到个尴尬问题:PWM使用的DMA通道与串口接收的DMA通道撞车了,咋办?考虑一下,决定放弃idle中断+dma的串口不定长数据接收方案,回到中断接收去。
一、DMA功能简介
使用范围
DMA(直接存储器存取)提供在外设与存储器之间或者存储器和存储器之间的高速数据传输使用。
这里的外设指的是32的外设,比如spi、usart、iic、adc等基于APB1 、APB2或AHB时钟的外设,而这里的存储器包括32自身的闪存(flash)或者内存(SRAM)以及外设的存储设备都可以作为访问的源或者目的。
DMA(Direct Memory Access)常译为“存储器直接存取”。早在Intel的8086平台上就有了DMA应用了。