使用ADC1 通道11的测量0-3.3v 当输入电压到70mv时测量到的电压显示3.3V 请问这个是配置问题还是什么问题? 源码: #include "ADC.h" ADC_InitTypeDef ADC_InitStructure; void ADCInit(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AIN; // GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOC,&GPIO_InitStructure); } void ADC_ChannelConfig(void) { ADC_InitStructure.ADC_Mode= ADC_Mode_Independent; 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; ADC_Init(ADC1,&ADC_InitStructure); ADC_RegularChannelConfig(ADC1,ADC_Channel_11, 1,ADC_SampleTime_1Cycles5); ADC_Cmd(ADC1,ENABLE); ADC_SoftwareStartConvCmd(ADC1,ENABLE); } u16 READAdc(void) { u16 adc; while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET); adc=ADC_GetConversionValue(ADC1); return adc; } |
自己顶一下 |
ADC是软件启动的?那么第二次采集的时候是如何启动的? |