97#ifdef HAL_ADC_MODULE_ENABLED
148 __IO uint32_t counter = 0U;
149 uint32_t tmp1 = 0U, tmp2 = 0U;
150 ADC_Common_TypeDef *tmpADC_Common;
159 if ((hadc->
Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
167 while (counter != 0U)
215 hadc->
Instance->CR2 |= ADC_CR2_JSWSTART;
222 if ((hadc->
Instance == ADC1) && tmp1 && tmp2)
225 hadc->
Instance->CR2 |= ADC_CR2_JSWSTART;
251 __IO uint32_t counter = 0U;
252 uint32_t tmp1 = 0U, tmp2 = 0U;
253 ADC_Common_TypeDef *tmpADC_Common;
262 if ((hadc->
Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
270 while (counter != 0U)
321 hadc->
Instance->CR2 |= ADC_CR2_JSWSTART;
328 if ((hadc->
Instance == ADC1) && tmp1 && tmp2)
331 hadc->
Instance->CR2 |= ADC_CR2_JSWSTART;
404 return tmp_hal_status;
416 uint32_t tickstart = 0U;
427 if ((Timeout == 0U) || ((
HAL_GetTick() - tickstart) > Timeout))
532 return tmp_hal_status;
549 __IO uint32_t tmp = 0U;
559 switch (InjectedRank)
600 __IO uint32_t counter = 0U;
601 ADC_Common_TypeDef *tmpADC_Common;
613 if ((hadc->
Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
621 while (counter != 0U)
639 if (READ_BIT(hadc->
Instance->CR1, ADC_CR1_JAUTO) != RESET)
688 tmpADC_Common->CCR |= ADC_CCR_DDS;
693 tmpADC_Common->CCR &= ~ADC_CCR_DDS;
700 if ((hadc->
Instance->CR2 & ADC_CR2_EXTEN) == RESET)
703 hadc->
Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
728 ADC_Common_TypeDef *tmpADC_Common;
749 tmpADC_Common->CCR &= ~ADC_CCR_DDS;
768 return tmp_hal_status;
780 ADC_Common_TypeDef *tmpADC_Common;
791 return tmpADC_Common->CDR;
820#ifdef USE_FULL_ASSERT
825 ADC_Common_TypeDef *tmpADC_Common;
836#ifdef USE_FULL_ASSERT
868 hadc->
Instance->JSQR &= ~(ADC_JSQR_JL);
887 hadc->
Instance->CR2 &= ~(ADC_CR2_JEXTSEL);
891 hadc->
Instance->CR2 &= ~(ADC_CR2_JEXTEN);
897 hadc->
Instance->CR2 &= ~(ADC_CR2_JEXTSEL);
898 hadc->
Instance->CR2 &= ~(ADC_CR2_JEXTEN);
904 hadc->
Instance->CR1 |= ADC_CR1_JAUTO;
909 hadc->
Instance->CR1 &= ~(ADC_CR1_JAUTO);
915 hadc->
Instance->CR1 |= ADC_CR1_JDISCEN;
920 hadc->
Instance->CR1 &= ~(ADC_CR1_JDISCEN);
927 hadc->
Instance->JOFR1 &= ~(ADC_JOFR1_JOFFSET1);
932 hadc->
Instance->JOFR2 &= ~(ADC_JOFR2_JOFFSET2);
937 hadc->
Instance->JOFR3 &= ~(ADC_JOFR3_JOFFSET3);
942 hadc->
Instance->JOFR4 &= ~(ADC_JOFR4_JOFFSET4);
956 tmpADC_Common->CCR |= ADC_CCR_VBATE;
963 tmpADC_Common->CCR |= ADC_CCR_TSVREFE;
984 ADC_Common_TypeDef *tmpADC_Common;
1000 tmpADC_Common->CCR &= ~(ADC_CCR_MULTI);
1001 tmpADC_Common->CCR |= multimode->
Mode;
1004 tmpADC_Common->CCR &= ~(ADC_CCR_DMA);
1008 tmpADC_Common->CCR &= ~(ADC_CCR_DELAY);
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef *hadc, ADC_InjectionConfTypeDef *sConfigInjected)
Configures for the selected ADC injected channel its corresponding rank in the sequencer and its samp...
uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef *hadc)
Returns the last ADC1, ADC2 and ADC3 regular conversions results data in the selected multi mode.
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout)
Poll for injected conversion complete.
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef *hadc)
Disables ADC DMA (multi-ADC mode) and disables ADC peripheral.
uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef *hadc, uint32_t InjectedRank)
Gets the converted value from data register of injected channel.
HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef *hadc)
Stop conversion of injected channels. Disable ADC peripheral if no regular conversion is on going.
HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef *hadc)
Enables the selected ADC software start conversion of the injected channels.
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length)
Enables ADC DMA request after last transfer (Multi-ADC mode) and enables ADC peripheral.
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef *hadc, ADC_MultiModeTypeDef *multimode)
Configures the ADC multi-mode.
void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef *hadc)
Injected conversion complete callback in non blocking mode.
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef *hadc)
Stop conversion of injected channels, disable interruption of end-of-conversion. Disable ADC peripher...
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef *hadc)
Enables the interrupt and starts ADC conversion of injected channels.
#define ADC_INJECTED_SOFTWARE_START
static void ADC_MultiModeDMAConvCplt(DMA_HandleTypeDef *hdma)
DMA transfer complete callback.
static void ADC_MultiModeDMAHalfConvCplt(DMA_HandleTypeDef *hdma)
DMA half transfer complete callback.
static void ADC_MultiModeDMAError(DMA_HandleTypeDef *hdma)
DMA error callback.
#define IS_ADC_EXT_INJEC_TRIG_EDGE(EDGE)
#define IS_ADC_EXT_INJEC_TRIG(INJTRIG)
#define IS_ADC_MODE(MODE)
#define IS_ADC_INJECTED_RANK(RANK)
#define ADC_JSQR(_CHANNELNB_, _RANKNB_, _JSQR_JL_)
Set the selected injected Channel rank.
#define IS_ADC_CHANNEL(CHANNEL)
#define IS_ADC_DMA_ACCESS_MODE(MODE)
#define IS_ADC_INJECTED_LENGTH(LENGTH)
#define ADC_COMMON_REGISTER(__HANDLE__)
Defines if the selected ADC is within ADC common register ADC123 or ADC1 if available (ADC2,...
#define ADC_CHANNEL_TEMPSENSOR
#define ADC_INJECTED_RANK_3
#define ADC_INJECTED_RANK_1
#define ADC_INJECTED_RANK_2
#define ADC_INJECTED_RANK_4
#define HAL_ADC_ERROR_OVR
#define HAL_ADC_ERROR_INTERNAL
#define HAL_ADC_ERROR_DMA
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
Regular conversion complete callback in non blocking mode.
void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc)
Regular conversion half DMA transfer callback in non blocking mode.
void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
Error ADC callback.
#define __HAL_ADC_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the ADC end of conversion interrupt.
#define __HAL_ADC_DISABLE(__HANDLE__)
Disable the ADC peripheral.
#define __HAL_ADC_ENABLE(__HANDLE__)
Enable the ADC peripheral.
#define __HAL_ADC_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the ADC end of conversion interrupt.
#define __HAL_ADC_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the ADC's pending flags.
#define __HAL_ADC_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected ADC's flag status.
#define HAL_ADC_STATE_INJ_BUSY
#define HAL_ADC_STATE_REG_OVR
#define HAL_ADC_STATE_ERROR_CONFIG
#define HAL_ADC_STATE_REG_BUSY
#define HAL_ADC_STATE_ERROR_DMA
#define HAL_ADC_STATE_ERROR_INTERNAL
#define HAL_ADC_STATE_TIMEOUT
#define HAL_ADC_STATE_READY
#define HAL_ADC_STATE_REG_EOC
#define HAL_ADC_STATE_INJ_EOC
#define ADC_STAB_DELAY_US
#define ADC_SQR1(_NbrOfConversion_)
Set ADC Regular channel sequence length.
#define ADC_SMPR1(_SAMPLETIME_, _CHANNELNB_)
Set the ADC's sample time for channel numbers between 10 and 18.
#define ADC_IS_SOFTWARE_START_REGULAR(__HANDLE__)
Test if conversion trigger of regular group is software start or external trigger.
#define IS_ADC_SAMPLE_TIME(TIME)
#define IS_ADC_SAMPLING_DELAY(DELAY)
#define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__)
Test if conversion trigger of injected group is software start or external trigger.
#define ADC_STATE_CLR_SET
Simultaneously clears and sets specific bits of the handle State.
#define ADC_CLEAR_ERRORCODE(__HANDLE__)
Clear ADC error code (set it to error code: "no error")
#define IS_ADC_EXT_TRIG_EDGE(EDGE)
#define IS_ADC_RANGE(RESOLUTION, ADC_VALUE)
#define ADC_GET_RESOLUTION(__HANDLE__)
Return resolution bits in CR1 register.
#define ADC_SMPR2(_SAMPLETIME_, _CHANNELNB_)
Set the ADC's sample time for channel numbers between 0 and 9.
#define ADC_CHANNEL_VREFINT
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer.
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
Start the DMA Transfer with interrupt enabled.
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
#define HAL_IS_BIT_SET(REG, BIT)
HAL_StatusTypeDef
HAL Status structures definition
#define __HAL_UNLOCK(__HANDLE__)
#define HAL_IS_BIT_CLR(REG, BIT)
#define __HAL_LOCK(__HANDLE__)
ADC handle Structure definition.
DMA_HandleTypeDef * DMA_Handle
FunctionalState ContinuousConvMode
FunctionalState DMAContinuousRequests
uint32_t ExternalTrigConvEdge
ADC Configuration injected Channel structure definition.
FunctionalState AutoInjectedConv
uint32_t InjectedSamplingTime
uint32_t ExternalTrigInjecConvEdge
FunctionalState InjectedDiscontinuousConvMode
uint32_t ExternalTrigInjecConv
uint32_t InjectedNbrOfConversion
ADC Configuration multi-mode structure definition.
uint32_t TwoSamplingDelay
DMA handle Structure definition.
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)