最近做项目用到STM32F051的片子,遇到了两个小坑。
我的一个项目,需要ADC采集。两路ADC输入通道。PA0-ADCIn0; PA1-ADCIn1.
一开始想使用最简单的方式,单次转换。第一次采In0, 第2次采集In1.
STM32F0 的ADC库里面提供了ADC转换的函数:如下:
ADC_StartOfConversion(ADC1);
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
AdcProValRig[AdcLoopId] =ADC_GetConversionValue(ADC1);
ADC_StopOfConversion(ADC1);
解释:ADC_StartOfConversion 开始连续转换,也可以配置为,不是连续转换。在ADC初始化结构体中配置。
然后等待ADC转换结束,然后读取ADC的转换结果(同时会自动清空EOC标识)。
然后停止转换。
接下来采集In1 , 理所当然&