我从官方文档得出来的ADC配置流程大致是 ADC校准->将ADC控制位置1->等待ADRDY=1->ADC使能成功,所以按理说在使用了 ADC_Cmd(ADC1, ENABLE);之后应该是等待ADRDY为1的,但是在很多实例程序下却判断ADC的控制位是不是1,这是为什么呢?
我使用的是STM32F0_Discovery_Library库,
/* ADC Calibration */
ADC_GetCalibrationFactor(ADC1);
ADC_DMACmd(ADC1, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
/* Wait the ADCEN falg */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); //这里是我感到疑惑的地方,为什么使用的是ADC_FLAG_ADEN而不是ADC_FLAD_ADRDY
/* ADC1 regular Software Start Conv */
ADC_StartOfConversion(ADC1);
}
|