二十八,ADC,ADC的DMA多通道

DMA是直接寄存器访问功能,可以不经过ARM内核直接将绑定的功能获取的数据,读出到指定寄存器,减少ARM内核的工作量.

1,我们想要使用ADC功能来读取数据,先设置ADC转换速度

2, 配置IO为ADC功能

3,根据需要设置参数,其中Rank的设置55.5Cycless

4,设置ADC2,开启了ADC2的第5通道

5,移植ADC驱动

.

Main

采样前先校准,只需要校准一次,不需要重复校准.

While加入读取ADC数值程序.

6,打开串口助手查看数据

7,基本配置完成,开启DMA方式

用DMA了,就不要选择中断了

8,修改顺序,需要先初始化DMA,然后才初始化ADC

9.程序中开启DMA传递

看起来没有任何程序读ADC1,但程序运行不靠ARM内核,DMA会一直刷新ADC1的值,注意ADC1的变量a1,在DMA读取的时候是读取的地址.

10,DMA读取多路ADC通道的值.

把PA5的ADC2设置为ADC1.

多通道要设置为扫描模式.

11,多通道DMA程序

开启DMA