DMA直接存储器访问详解
DMA:Data Memory Access,直接存储器访问。主要功能是可以把数据从一个地方搬到另外一个地方,而且不占用CPU。 DMA1:有7个通道,可以实现 P->M,M->P, M->M DMA2:有7个通道,可以实现 P->M,M->P,M->M DMA初始化结构体 一、数据从哪里来,要到哪里去 1、外设地址,DMA_CPAR 2、存储器地址,DMA_CMAR 3、传输方向,DMA_CCR:DIR 二、数据要传多少,传的单位是什么 1、传输数目,DMA_CNDTR 2、外设地址是否递增,DMA_CCRx:PINC 3、存储器地址是否递增,DMA_CCRx:MINC 4、外设数据宽度, DMA_CCRx:PSIZE 5、存储器数据宽度, DMA_CCRx:MSIZE 三、什么时候传输结束 四、实验设计 1、模式选择,DMA_CCRx:CIRC 2、传输过半,传输完成,传输出错,DMA_ISR 1-M to M:FLASH to SRAM,把内部FLASH的数据传输到内部的SRAM。 2-M to P:SRAM to 串口,同时LED灯闪烁,演示DMA传数据不需要占用CPU。 M to M 编程 : 1-在FLASH中定义好要传输的数据,在SRAM中定义好用来接收FLASH数据的变量。 2-初始化DMA,主要是配置DMA初始化结构体。 3-编写比较函数。 4-编写main函数。