Stop ADC conversion.
3240 uint32_t Conversion_Timeout_CPU_cycles = 0UL;
3241 uint32_t conversion_group_reassigned = ConversionGroup;
3242 uint32_t tmp_ADC_CR_ADSTART_JADSTART;
3243 uint32_t tmp_adc_is_conversion_on_going_regular;
3244 uint32_t tmp_adc_is_conversion_on_going_injected;
3248 assert_param(IS_ADC_CONVERSION_GROUP(ConversionGroup));
3254 if ((tmp_adc_is_conversion_on_going_regular != 0UL)
3255 || (tmp_adc_is_conversion_on_going_injected != 0UL)
3264 if (((hadc->Instance->CFGR & ADC_CFGR_JAUTO) != 0UL)
3265 && (hadc->Init.ContinuousConvMode == ENABLE)
3266 && (hadc->Init.LowPowerAutoWait == ENABLE)
3270 conversion_group_reassigned = ADC_REGULAR_GROUP;
3273 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL)
3275 if (Conversion_Timeout_CPU_cycles >= (ADC_CONVERSION_TIME_MAX_CPU_CYCLES * 4UL))
3278 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
3281 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
3285 Conversion_Timeout_CPU_cycles ++;
3289 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS);
3293 if (conversion_group_reassigned != ADC_INJECTED_GROUP)
3307 if (conversion_group_reassigned != ADC_REGULAR_GROUP)
3321 switch (conversion_group_reassigned)
3323 case ADC_REGULAR_INJECTED_GROUP:
3324 tmp_ADC_CR_ADSTART_JADSTART = (ADC_CR_ADSTART | ADC_CR_JADSTART);
3326 case ADC_INJECTED_GROUP:
3327 tmp_ADC_CR_ADSTART_JADSTART = ADC_CR_JADSTART;
3331 tmp_ADC_CR_ADSTART_JADSTART = ADC_CR_ADSTART;
3338 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL)
3340 if ((
HAL_GetTick() - tickstart) > ADC_STOP_CONVERSION_TIMEOUT)
3343 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
3346 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
__STATIC_INLINE void LL_ADC_INJ_StopConversion(ADC_TypeDef *ADCx)
Stop ADC group injected conversion.
__STATIC_INLINE uint32_t LL_ADC_IsDisableOngoing(ADC_TypeDef *ADCx)
Get the selected ADC instance disable state. CR ADDIS LL_ADC_IsDisableOngoing.
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
__STATIC_INLINE void LL_ADC_REG_StopConversion(ADC_TypeDef *ADCx)
Stop ADC group regular conversion.
__STATIC_INLINE uint32_t LL_ADC_INJ_IsConversionOngoing(ADC_TypeDef *ADCx)
Get ADC group injected conversion state. CR JADSTART LL_ADC_INJ_IsConversionOngoing.
__STATIC_INLINE uint32_t LL_ADC_REG_IsConversionOngoing(ADC_TypeDef *ADCx)
Get ADC group regular conversion state. CR ADSTART LL_ADC_REG_IsConversionOngoing.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))