1,选择ADC 和 通道
2,配置ADC 参数
关闭连续转换,开启扫描,开启非连续转换,使能DMA连续转换,以一个组为单位进行转换。
设置转换的通道数,设置触发源,设置触发边沿,设置每个通道的参数。
3,配置DMA
选择DMA的模式为循环模式
4,配置Timer
使能自动重载,选择触发事件为更新事件。拿timer的主频除以自动重载值就是我们ADC的转化速率。需要注意的是这个速率不能超过你当前配置的ADC最大转化速率。每个通道的转化时间为:对应通道的转化需要的cycle+12.5cycle.
例如:我配置的ADC时钟为20M,使能了两个通道,每个通道的转化时间是2.5cycle,那么我的ADC最大转化速度就为20M/(2.5+12.5 + 2.5+12.5)= 20M/30=0.667M.
此外还需注意你使用的timer的位数,如果是16位的timer,你的自动重载值不能超过65535。如果需要的频率不高,在自动重载值不够用的情况下,可以使用预分频。拿timer的主频除以(预分频数+1)就是timer实际的运行频率。