На вход АЦП подключил NTC резистор 10Ком делитель собрал на подтягивающем резисторе к 3.3В 10КОм. Знечение АЦП(12битный) прыгают в диапазоне 3000-4000, глянул осциллографом что творится на ноге АЦП, а там пилообразный сигнал. На ее появление влияет Включение АЦП перед калибровкой.(В КОДЕ ВЫДЕЛАНА КРАСНЫМ). Если удалить строку АЦП показывает максимальное значение 4095.
ADC_InitTypeDef ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);/* ADC1 Periph clock enable */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // PA.5 ADC IN5
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//RCC_ADCCLKConfig(RCC_ADCCLK_PCLK_Div4);
ADC_DeInit(ADC1);/* ADC1 DeInit */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);/* ADC1 Periph clock enable */
ADC_StructInit(&ADC_InitStructure); /* Initialize ADC structure */
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;/* Configure the ADC1 in continous mode withe a resolutuion equal to 12 bits */
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Upward;
ADC->CCR |= ADC_CCR_VBATEN;
ADC_Init(ADC1, &ADC_InitStructure);/* Convert the ADC1 input with N Cycles as sampling time */
ADC_ChannelConfig(ADC1, ADC_Channel_5, ADC_SampleTime_28_5Cycles); // PB0 - IN8
[COLOR="Red"] ADC_Cmd(ADC1, ENABLE);/*ЕСЛИ ЭТУ СТРОКУ УБРАТЬ ПИЛА ПРОПАДАЕТ */[/COLOR]
ADC_GetCalibrationFactor(ADC1); /* ADC Calibration */
ADC_Cmd(ADC1, ENABLE);/* Enable ADC1 */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));/* Wait the ADCEN falg */
ADC_StartOfConversion(ADC1);/* ADC1 regular Software Start Conv */
Этим считываю значение
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
summ+=ADC_GetConversionValue(ADC1);