一、为什么要用DMA?
DMA 全称:Direct MemoryAccess 就是可以直接内存存取;
正是它可以直接操作内存所以具备以下优点:
而无需经过CPU去操作内存的存取,这样可以解放CPU出来干其他的事情;
因为他可以进行存储器时间的数据传输,而不需经过cpu,所以大大加快了数据传输速度—是一种高速的数据传输;
二.DMA有几种传输数据方式:
(1)内存到 内存之间的;即:SRAMßà SRAM
(2)内存到 外设之间的; (例如:串口收到的数据 从数据寄存器 à 内存)
(3) 外设到内存之间的;
三.传输的数据宽度是怎样的,数据是什么样的形式传输?DMA 能传输多大的数据量?
A. 数据源地址到数据目的地址 传输宽度或者说传输数据的形式,有几种:1)字节;2)半字;3)全字 [1字节=8bit 1半字=2字节=16位 1全字=2半字=4字节=32位]
B.传输的最大数据量是65536
我们来看一下stm32f103ve的数据手册第九章DMA 大概的了解一下DMA的特性:
四、怎样配置软件来使用DMA?
(1)配置dma
/*****************************************************************
*函数名称: Dma_Init
*功能描述: 利用DMA