37 ADC_ChannelConfTypeDef sConfig = {0};
46 hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV4;
47 hadc.Init.Resolution = ADC_RESOLUTION_12B;
48 hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
49 hadc.Init.ScanConvMode = ADC_SCAN_DISABLE;
50 hadc.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
51 hadc.Init.LowPowerAutoWait = ENABLE;
52 hadc.Init.LowPowerAutoPowerOff = ENABLE;
53 hadc.Init.ContinuousConvMode = DISABLE;
54 hadc.Init.NbrOfConversion = 1;
55 hadc.Init.DiscontinuousConvMode = DISABLE;
56 hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
57 hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
58 hadc.Init.DMAContinuousRequests = DISABLE;
59 hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
60 hadc.Init.SamplingTimeCommon1 = ADC_SAMPLETIME_160CYCLES_5;
61 hadc.Init.SamplingTimeCommon2 = ADC_SAMPLETIME_160CYCLES_5;
62 hadc.Init.OversamplingMode = DISABLE;
63 hadc.Init.TriggerFrequencyMode = ADC_TRIGGER_FREQ_HIGH;
64 if (HAL_ADC_Init(&
hadc) != HAL_OK)
71 sConfig.Channel = ADC_CHANNEL_VREFINT;
72 sConfig.Rank = ADC_REGULAR_RANK_1;
73 sConfig.SamplingTime = ADC_SAMPLINGTIME_COMMON_1;
74 if (HAL_ADC_ConfigChannel(&
hadc, &sConfig) != HAL_OK)
87 GPIO_InitTypeDef GPIO_InitStruct = {0};
88 RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
89 if(adcHandle->Instance==ADC)
97 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
98 PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_SYSCLK;
99 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
105 __HAL_RCC_ADC_CLK_ENABLE();
107 __HAL_RCC_GPIOA_CLK_ENABLE();
111 GPIO_InitStruct.Pin = GPIO_PIN_15;
112 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
113 GPIO_InitStruct.Pull = GPIO_NOPULL;
114 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
117 HAL_NVIC_SetPriority(ADC_IRQn, 3, 0);
118 HAL_NVIC_EnableIRQ(ADC_IRQn);
128 if(adcHandle->Instance==ADC)
134 __HAL_RCC_ADC_CLK_DISABLE();
139 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
142 HAL_NVIC_DisableIRQ(ADC_IRQn);
void Error_Handler(void)
Default error handler called by HAL on unrecoverable errors. Disables interrupts and enters an infini...