STM32 的很多外设可以配置为 DMA 模式,可以大大提高效率,减轻 CPU 的负担。例如前面提到过的 ADC 转换,如果采用中断模式,由于 ADC 转换速度快,因此进入中断就很频繁,从而占用 CPU 资源严重,如果采用查询的方式去读取 ADC,在某些要求高速的场合实时性会降低。因此可以采用 DMA 模式进行 ADC 转换。STM32 的 DMA 配置流程如下 :
l、时钟设置
A、初始化系统时钟
B、使能DMA时钟(AHB总线)RCC_AHBPeriphClockCmd
C、使能设备的DMA功能,例如ADC使用DMA功能,则带ADC的配置中调用ADC_DMACmd函数
2、DMA配置
A、定义配置结构体 DMA_InitTypeDef
B、调用 DMA_DeInit 函数初始化DMA通道