问题描述:STM32F103RBT6,按MDK的例程,配置PA3为ADC1 通道3的模拟输入口用于AD采样。但PA3外部什么都不接的情况下用万用表量PA3的电压为1.6V左右,请问一下高手这是什么原因呢?
PS:查看芯片手册,该芯片VREF+,VREF-分别在芯片内部与VDD、VSS直连,也就是AD转换范围为0~3.3V。
部分代码如下:
/* Enable DMA1,ADC1 clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);
/* Configure PA.3 (ADC Channel3) as analog input -------------------------*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* ADC1 configuration ------------------------------------------------------*/
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //禁止扫描
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //开启连续转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //不使用外部触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //要转换的通道数1
ADC_Init(ADC1, &ADC_InitStructure);
|