//用结构体配置 ADC1
ADC_InitTypeDef ADC_InitStructure;
ADC_DeInit(ADC1);
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//数据右对齐
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//配置为软件触发
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//独立模式(或者双模式)
ADC_InitStructure.ADC_NbrOfChannel=1;//规则组通道数为 1
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//连续转换或单次转换
ADC_InitStructure.ADC_ScanConvMode=DISABLE;//非扫描模式
ADC_Init(ADC1,&ADC_InitStructure);
// ADC1 规则组配置
ADC_RegularChannelConfig(ADC1,ADC_Channel_6,1,ADC_SampleTime_239Cycles5);//将通道6放在规则组序列1上
在ADC转换电压值,遇到一个很奇怪的问题。如上面所示,先配置ADC1,再配置ADC1的规则组,这样测得的电压值为11.6v,很接近我用万用表测出来的值11.77v。但是,当我把这两个部分交换顺序,即先配置ADC1规则组,再用结构体配置ADC1后,测出的电压是10.3v,不知道什么原因。
希望有好心人解惑。