承接上一篇,接着讲ADC_DMA功能配置,直接存储器访问(DMA,Direct Memory Access)用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。在配置后,可以在无需任何CPU操作的情况下通过DMA快速移动数据,可以节省CPU资源用于其他操作。
STM32F407的DMA部分有两个DMA控制器,总共有16个数据流(每个控制器8个),每一个DMA控制器都用于管理一个或多个外设的存储器访问请求。每个数据流总共有可以多达8个通道(或称请求)。每个通道都有一个仲裁器,用于处理DMA请求间的优先级。
由表中可以看出,ADC1的DMA功能可以用通道0数据流0、数据流4,我这里选择的是数据流0。
“DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;”选择循环模式,这里引用别人的理解,