ADC工作流程:
选择通道--》开始转换--》等待转换完成--》读取结果
ADC相当于一个电压表,读取引脚的数值,存放在一个变量里。
通道:
16个IO口,和两个内部通道(温度和参考电压)。
转换触发:
软件触发,硬件触发(定时器或外部中断)。
规则组:
最多选16个通道,只有一个数据寄存器(扫描模式的话需要DMA转运数据)。
注入组:
最多选4个通道,有4个数据寄存器。
ADC时钟:
来自APB2时钟,ADCCLK最大14MHz,
主频72MHz,可以选择6分频或8分频。
引脚定义表中例如ADC12_IN0,的意思是ADC1和ADC2的IN0都是在PA0上。
工作模式:
单次转换,非扫描
单次转换,扫描
连续转换,非扫描
连续转换,扫描
ADC转换时间 = 采样时间(可配置)+ 12.5个ADC时钟周期。
建议每次上电前校准,校准过程是固定的,调用几个函数即可。
以上只是摘要,方便回忆。详细内容看这位大佬的笔记