1)PCLK2就是APB2时钟的意思
2) AIN模式下,GPIO口是无效的,断开GPIO防止GPIO口的输入输出对模拟电压造成干扰,ADC转化需要原汁原味的电压(ADC专属模式)
3)
采样时间需要更快的选择小的参数,需要更稳定的转换,就选择大的参数,如果没有啥要求,随便选择
4)
如果是非扫描模式,整个列表只有序列一有效,所以参数是无效
5)
ADC_ResetCalibration(ADC1);
while (ADC_GetResetCalibrationStatus(ADC1) == SET);
ADC_StartCalibration(ADC1);
while (ADC_GetCalibrationStatus(ADC1) == SET);
以上是执行校准代码,下图是手册规定
6)ADC时钟
RCC_ADCCLKConfig(); 也就是这个函数,可以进行ADCCLK时钟分频
7)AD值转化
V(ADC) = Value(ADC) /4096* V(ref)(stm32的ADC是12位的,所以ad字的最大值是4096)
V(ADC)为算出的电压值;
Value(ADC)为采集的AD值;
V(ref)为参考电压,一般为3.3V。
比如STM32的参考电压为3.3v,采集的AD值为1024,那么转换为电压V(ADC) = 1024/4096×3.3 = 0.825V
END~~