20#ifndef STM32H7xx_HAL_ADC_EX_H
21#define STM32H7xx_HAL_ADC_EX_H
49#if defined(ADC_VER_V5_V90)
123#if defined(ADC_VER_V5_V90)
124 uint32_t InjectedOffsetSign;
235#define ADC_INJECTED_SOFTWARE_START (LL_ADC_INJ_TRIG_SOFTWARE)
236#define ADC_EXTERNALTRIGINJEC_T1_TRGO (LL_ADC_INJ_TRIG_EXT_TIM1_TRGO)
237#define ADC_EXTERNALTRIGINJEC_T1_CC4 (LL_ADC_INJ_TRIG_EXT_TIM1_CH4)
238#define ADC_EXTERNALTRIGINJEC_T2_TRGO (LL_ADC_INJ_TRIG_EXT_TIM2_TRGO)
239#define ADC_EXTERNALTRIGINJEC_T2_CC1 (LL_ADC_INJ_TRIG_EXT_TIM2_CH1)
240#define ADC_EXTERNALTRIGINJEC_T3_CC4 (LL_ADC_INJ_TRIG_EXT_TIM3_CH4)
241#define ADC_EXTERNALTRIGINJEC_T4_TRGO (LL_ADC_INJ_TRIG_EXT_TIM4_TRGO)
242#define ADC_EXTERNALTRIGINJEC_EXT_IT15 (LL_ADC_INJ_TRIG_EXT_EXTI_LINE15)
243#define ADC_EXTERNALTRIGINJEC_T8_CC4 (LL_ADC_INJ_TRIG_EXT_TIM8_CH4)
244#define ADC_EXTERNALTRIGINJEC_T1_TRGO2 (LL_ADC_INJ_TRIG_EXT_TIM1_TRGO2)
245#define ADC_EXTERNALTRIGINJEC_T8_TRGO (LL_ADC_INJ_TRIG_EXT_TIM8_TRGO)
246#define ADC_EXTERNALTRIGINJEC_T8_TRGO2 (LL_ADC_INJ_TRIG_EXT_TIM8_TRGO2)
247#define ADC_EXTERNALTRIGINJEC_T3_CC3 (LL_ADC_INJ_TRIG_EXT_TIM3_CH3)
248#define ADC_EXTERNALTRIGINJEC_T3_TRGO (LL_ADC_INJ_TRIG_EXT_TIM3_TRGO)
249#define ADC_EXTERNALTRIGINJEC_T3_CC1 (LL_ADC_INJ_TRIG_EXT_TIM3_CH1)
250#define ADC_EXTERNALTRIGINJEC_T6_TRGO (LL_ADC_INJ_TRIG_EXT_TIM6_TRGO)
251#define ADC_EXTERNALTRIGINJEC_T15_TRGO (LL_ADC_INJ_TRIG_EXT_TIM15_TRGO)
253#define ADC_EXTERNALTRIGINJEC_HR1_ADCTRG2 (LL_ADC_INJ_TRIG_EXT_HRTIM_TRG2)
254#define ADC_EXTERNALTRIGINJEC_HR1_ADCTRG4 (LL_ADC_INJ_TRIG_EXT_HRTIM_TRG4)
256#define ADC_EXTERNALTRIGINJEC_LPTIM1_OUT (LL_ADC_INJ_TRIG_EXT_LPTIM1_OUT)
257#define ADC_EXTERNALTRIGINJEC_LPTIM2_OUT (LL_ADC_INJ_TRIG_EXT_LPTIM2_OUT)
258#define ADC_EXTERNALTRIGINJEC_LPTIM3_OUT (LL_ADC_INJ_TRIG_EXT_LPTIM3_OUT)
266#define ADC_EXTERNALTRIGINJECCONV_EDGE_NONE (0x00000000UL)
267#define ADC_EXTERNALTRIGINJECCONV_EDGE_RISING (ADC_JSQR_JEXTEN_0)
268#define ADC_EXTERNALTRIGINJECCONV_EDGE_FALLING (ADC_JSQR_JEXTEN_1)
269#define ADC_EXTERNALTRIGINJECCONV_EDGE_RISINGFALLING (ADC_JSQR_JEXTEN)
277#define ADC_SINGLE_ENDED (LL_ADC_SINGLE_ENDED)
278#define ADC_DIFFERENTIAL_ENDED (LL_ADC_DIFFERENTIAL_ENDED)
286#define ADC_OFFSET_NONE (ADC_OFFSET_4 + 1U)
287#define ADC_OFFSET_1 (LL_ADC_OFFSET_1)
288#define ADC_OFFSET_2 (LL_ADC_OFFSET_2)
289#define ADC_OFFSET_3 (LL_ADC_OFFSET_3)
290#define ADC_OFFSET_4 (LL_ADC_OFFSET_4)
295#if defined(ADC_VER_V5_V90)
299#define ADC3_OFFSET_SIGN_NEGATIVE (0x00000000UL)
300#define ADC3_OFFSET_SIGN_POSITIVE (ADC3_OFR1_OFFSETPOS)
309#define ADC_INJECTED_RANK_1 (LL_ADC_INJ_RANK_1)
310#define ADC_INJECTED_RANK_2 (LL_ADC_INJ_RANK_2)
311#define ADC_INJECTED_RANK_3 (LL_ADC_INJ_RANK_3)
312#define ADC_INJECTED_RANK_4 (LL_ADC_INJ_RANK_4)
320#define ADC_MODE_INDEPENDENT (LL_ADC_MULTI_INDEPENDENT)
321#define ADC_DUALMODE_REGSIMULT (LL_ADC_MULTI_DUAL_REG_SIMULT)
322#define ADC_DUALMODE_INTERL (LL_ADC_MULTI_DUAL_REG_INTERL)
323#define ADC_DUALMODE_INJECSIMULT (LL_ADC_MULTI_DUAL_INJ_SIMULT)
324#define ADC_DUALMODE_ALTERTRIG (LL_ADC_MULTI_DUAL_INJ_ALTERN)
325#define ADC_DUALMODE_REGSIMULT_INJECSIMULT (LL_ADC_MULTI_DUAL_REG_SIM_INJ_SIM)
326#define ADC_DUALMODE_REGSIMULT_ALTERTRIG (LL_ADC_MULTI_DUAL_REG_SIM_INJ_ALT)
327#define ADC_DUALMODE_REGINTERL_INJECSIMULT (LL_ADC_MULTI_DUAL_REG_INT_INJ_SIM)
332#define ADC_DUALMODEDATAFORMAT_DISABLED (0x00000000UL)
333#define ADC_DUALMODEDATAFORMAT_32_10_BITS (ADC_CCR_DAMDF_1)
334#define ADC_DUALMODEDATAFORMAT_8_BITS ((ADC_CCR_DAMDF_0 |ADC_CCR_DAMDF_1))
342#define ADC_TWOSAMPLINGDELAY_1CYCLE (LL_ADC_MULTI_TWOSMP_DELAY_1CYCLE_5)
343#define ADC_TWOSAMPLINGDELAY_2CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_2CYCLES_5)
344#define ADC_TWOSAMPLINGDELAY_3CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_3CYCLES_5)
345#define ADC_TWOSAMPLINGDELAY_4CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_4CYCLES_5)
346#define ADC_TWOSAMPLINGDELAY_5CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_5CYCLES_5)
347#define ADC_TWOSAMPLINGDELAY_6CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_6CYCLES_5)
348#define ADC_TWOSAMPLINGDELAY_7CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_7CYCLES_5)
349#define ADC_TWOSAMPLINGDELAY_8CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_8CYCLES)
350#define ADC_TWOSAMPLINGDELAY_9CYCLES (LL_ADC_MULTI_TWOSMP_DELAY_9CYCLES)
362#define ADC_REGULAR_GROUP (LL_ADC_GROUP_REGULAR)
363#define ADC_INJECTED_GROUP (LL_ADC_GROUP_INJECTED)
364#define ADC_REGULAR_INJECTED_GROUP (LL_ADC_GROUP_REGULAR_INJECTED)
372#define ADC_CFGR_FIELDS (ADC_CFGR_AWD1CH | ADC_CFGR_JAUTO | ADC_CFGR_JAWD1EN |\
373 ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL | ADC_CFGR_JQM |\
374 ADC_CFGR_JDISCEN | ADC_CFGR_DISCNUM | ADC_CFGR_DISCEN |\
375 ADC_CFGR_AUTDLY | ADC_CFGR_CONT | ADC_CFGR_OVRMOD |\
376 ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL | ADC_CFGR_ALIGN |\
377 ADC_CFGR_RES | ADC_CFGR_DMACFG | ADC_CFGR_DMAEN )
385#define ADC_SMPR1_FIELDS (ADC_SMPR1_SMP9 | ADC_SMPR1_SMP8 | ADC_SMPR1_SMP7 |\
386 ADC_SMPR1_SMP6 | ADC_SMPR1_SMP5 | ADC_SMPR1_SMP4 |\
387 ADC_SMPR1_SMP3 | ADC_SMPR1_SMP2 | ADC_SMPR1_SMP1 |\
398#define ADC_CFGR_FIELDS_2 ((uint32_t)(ADC_CFGR_DMNGT | ADC_CFGR_AUTDLY))
402#if defined(ADC_VER_V5_V90)
408#define ADC3_CFGR_FIELDS_2 ((ADC3_CFGR_DMACFG | ADC_CFGR_AUTDLY))
414#if defined(DFSDM1_Channel0)
418#define ADC_DFSDM_MODE_DISABLE (0x00000000UL)
419#define ADC_DFSDM_MODE_ENABLE (LL_ADC_REG_DFSDM_TRANSFER_ENABLE)
449#define ADC_FORCE_MODE_INDEPENDENT(__HANDLE__) \
450 LL_ADC_SetMultimode(__LL_ADC_COMMON_INSTANCE((__HANDLE__)->Instance), LL_ADC_MULTI_INDEPENDENT)
470#define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__) \
471 (((__HANDLE__)->Instance->JSQR & ADC_JSQR_JEXTEN) == 0UL)
478#define ADC_IS_CONVERSION_ONGOING_REGULAR_INJECTED(__HANDLE__) \
479 (( (((__HANDLE__)->Instance->CR) & (ADC_CR_ADSTART | ADC_CR_JADSTART)) == 0UL \
487#define ADC_IS_CONVERSION_ONGOING_INJECTED(__HANDLE__) \
488 (LL_ADC_INJ_IsConversionOngoing((__HANDLE__)->Instance))
499#define ADC_IS_INDEPENDENT(__HANDLE__) \
500 ( ( ( ((__HANDLE__)->Instance) == ADC3) \
514#define ADC_JSQR_RK(__CHANNELNB__, __RANKNB__) ((((__CHANNELNB__) & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << ((__RANKNB__) & ADC_INJ_RANK_ID_JSQR_MASK))
521#define ADC_CFGR_INJECT_CONTEXT_QUEUE(__INJECT_CONTEXT_QUEUE_MODE__) ((__INJECT_CONTEXT_QUEUE_MODE__) << ADC_CFGR_JQM_Pos)
528#define ADC_CFGR_INJECT_DISCCONTINUOUS(__INJECT_DISCONTINUOUS_MODE__) ((__INJECT_DISCONTINUOUS_MODE__) << ADC_CFGR_JDISCEN_Pos)
535#define ADC_CFGR_REG_DISCONTINUOUS(__REG_DISCONTINUOUS_MODE__) ((__REG_DISCONTINUOUS_MODE__) << ADC_CFGR_DISCEN_Pos)
542#define ADC_CFGR_DISCONTINUOUS_NUM(__NBR_DISCONTINUOUS_CONV__) (((__NBR_DISCONTINUOUS_CONV__) - 1UL) << ADC_CFGR_DISCNUM_Pos)
549#define ADC_CFGR_AUTOWAIT(__AUTOWAIT__) ((__AUTOWAIT__) << ADC_CFGR_AUTDLY_Pos)
556#define ADC_CFGR_CONTINUOUS(__CONTINUOUS_MODE__) ((__CONTINUOUS_MODE__) << ADC_CFGR_CONT_Pos)
563#define ADC_CFGR_DMACONTREQ(__DMACONTREQ_MODE__) ((__DMACONTREQ_MODE__))
565#if defined(ADC_VER_V5_V90)
571#define ADC3_CFGR_DMACONTREQ(__DMACONTREQ_MODE__) ((__DMACONTREQ_MODE__) << ADC3_CFGR_DMACFG_Pos)
578#define ADC_OFR_CHANNEL(__CHANNEL__) ((__CHANNEL__) << ADC_OFR1_OFFSET1_CH_Pos)
585#define ADC_DIFSEL_CHANNEL(__CHANNEL__) (1UL << (__CHANNEL__))
592#define ADC_CALFACT_DIFF_SET(__CALIBRATION_FACTOR__) (((__CALIBRATION_FACTOR__) & (ADC_CALFACT_CALFACT_D_Pos >> ADC_CALFACT_CALFACT_D_Pos) ) << ADC_CALFACT_CALFACT_D_Pos)
599#define ADC_CALFACT_DIFF_GET(__CALIBRATION_FACTOR__) ((__CALIBRATION_FACTOR__) >> ADC_CALFACT_CALFACT_D_Pos)
606#define ADC_TRX_HIGHTHRESHOLD(__THRESHOLD__) ((__THRESHOLD__) << 16UL)
613#define ADC_CCR_MULTI_DMACONTREQ(__DMACONTREQ_MODE__) ((__DMACONTREQ_MODE__) << ADC_CCR_DMACFG_Pos)
628#if defined(ADC_VER_V5_3)
629#define ADC_OFFSET_SHIFT_RESOLUTION(__HANDLE__, __OFFSET__) \
631 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
632 ? ((__OFFSET__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
634 ((__OFFSET__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
637#define ADC_OFFSET_SHIFT_RESOLUTION(__HANDLE__, __OFFSET__) \
638 (((DBGMCU->IDCODE & 0xF0000000UL) == 0x10000000UL) \
639 ? ((__OFFSET__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
641 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
642 ? ((__OFFSET__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
644 ((__OFFSET__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
648#if defined(ADC_VER_V5_V90)
649#define ADC3_OFFSET_SHIFT_RESOLUTION(__HANDLE__, __OFFSET__) \
650 ((__OFFSET__) << ((((__HANDLE__)->Instance->CFGR & ADC3_CFGR_RES) >> 3UL) * 2UL))
667#if defined(ADC_VER_V5_3)
668#if defined(ADC_VER_V5_V90)
669#define ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \
670 ( ((__HANDLE__)->Instance == ADC3) \
671 ?((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC3_CFGR_RES)>> 3UL)*2UL)) \
673 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
674 ?((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
676 ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
679#define ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \
681 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
682 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
684 ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
689#define ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \
690 (((DBGMCU->IDCODE & 0xF0000000UL) == 0x10000000UL) \
691 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
693 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
694 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
696 ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
713#if defined(ADC_VER_V5_3) || defined(ADC_VER_V5_V90)
714#define ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \
716 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
717 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
719 ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
722#define ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(__HANDLE__, __THRESHOLD__) \
723 (((DBGMCU->IDCODE & 0xF0000000UL) == 0x10000000UL) \
724 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
726 ((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES_2) == 0UL) \
727 ? ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & ADC_CFGR_RES)>> 2UL)*2UL)) \
729 ((__THRESHOLD__)<<(((((__HANDLE__)->Instance->CFGR) & (ADC_CFGR_RES & 0xFFFFFFF3UL))>> 2UL )*2UL)) \
742#define ADC12_COMMON_REGISTER(__HANDLE__) (ADC12_COMMON)
749#define ADC3_COMMON_REGISTER(__HANDLE__) (ADC3_COMMON)
758#define ADC_MASTER_REGISTER(__HANDLE__) \
759 ( ( ((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC3)) \
761 ((__HANDLE__)->Instance) \
766#define ADC_MASTER_REGISTER(__HANDLE__) ( (ADC1))
774#define ADC_IS_DUAL_REGULAR_CONVERSION_ENABLE(__HANDLE__) \
775 ( ( ((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC2)) \
777 ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_MODE_INDEPENDENT) && \
778 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_DUALMODE_INJECSIMULT) && \
779 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) != ADC_DUALMODE_ALTERTRIG) ) \
789#define ADC12_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) \
790 ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC2) \
794 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == RESET) \
802#define ADC3_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) \
803 ( ( ((__HANDLE__)->Instance == ADC3) \
807 ((ADC3_COMMON->CCR & ADC_CCR_DUAL) == RESET) \
816#define ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(__HANDLE__) \
817 ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC3) \
821 ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \
822 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INJECSIMULT) || \
823 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_ALTERTRIG) ))
825#define ADC_INDEPENDENT_OR_NONMULTIMODEREGULAR_SLAVE(__HANDLE__) \
826 ( ( ((__HANDLE__)->Instance == ADC1) \
830 ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \
831 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INJECSIMULT) || \
832 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_ALTERTRIG) ))
841#define ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(__HANDLE__) \
842 ( ( ((__HANDLE__)->Instance == ADC1) || ((__HANDLE__)->Instance == ADC3) \
846 ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \
847 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_REGSIMULT) || \
848 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INTERL) ))
850#define ADC_INDEPENDENT_OR_NONMULTIMODEINJECTED_SLAVE(__HANDLE__) \
851 ( ( ((__HANDLE__)->Instance == ADC1) \
855 ( ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_MODE_INDEPENDENT) || \
856 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_REGSIMULT) || \
857 ((ADC12_COMMON->CCR & ADC_CCR_DUAL) == ADC_DUALMODE_INTERL) ))
860#define ADC_CLEAR_COMMON_CONTROL_REGISTER(__HANDLE__) CLEAR_BIT(__LL_ADC_COMMON_INSTANCE((__HANDLE__)->Instance)->CCR, ADC_CCR_CKMODE | \
876#define ADC_MULTI_SLAVE(__HANDLE_MASTER__, __HANDLE_SLAVE__) \
877 ( (((__HANDLE_MASTER__)->Instance == ADC1)) ? ((__HANDLE_SLAVE__)->Instance = ADC2) : ((__HANDLE_SLAVE__)->Instance = NULL) )
886#define ADC_TEMPERATURE_SENSOR_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC3)
888#define ADC_TEMPERATURE_SENSOR_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC2)
897#define ADC_BATTERY_VOLTAGE_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC3)
899#define ADC_BATTERY_VOLTAGE_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC2)
908#define ADC_VREFINT_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC3)
910#define ADC_VREFINT_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC2)
918#define IS_ADC_INJECTED_NB_CONV(__LENGTH__) (((__LENGTH__) >= (1U)) && ((__LENGTH__) <= (4U)))
925#define IS_ADC_CALFACT(__CALIBRATION_FACTOR__) ((__CALIBRATION_FACTOR__) <= (0x7FFU))
927#if defined(ADC_VER_V5_V90)
933#define IS_ADC_CALFACT_ADC3(__CALIBRATION_FACTOR__) ((__CALIBRATION_FACTOR__) <= (0x7FU))
941#define IS_ADC_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_0) || \
942 ((__CHANNEL__) == ADC_CHANNEL_1) || \
943 ((__CHANNEL__) == ADC_CHANNEL_2) || \
944 ((__CHANNEL__) == ADC_CHANNEL_3) || \
945 ((__CHANNEL__) == ADC_CHANNEL_4) || \
946 ((__CHANNEL__) == ADC_CHANNEL_5) || \
947 ((__CHANNEL__) == ADC_CHANNEL_6) || \
948 ((__CHANNEL__) == ADC_CHANNEL_7) || \
949 ((__CHANNEL__) == ADC_CHANNEL_8) || \
950 ((__CHANNEL__) == ADC_CHANNEL_9) || \
951 ((__CHANNEL__) == ADC_CHANNEL_10) || \
952 ((__CHANNEL__) == ADC_CHANNEL_11) || \
953 ((__CHANNEL__) == ADC_CHANNEL_12) || \
954 ((__CHANNEL__) == ADC_CHANNEL_13) || \
955 ((__CHANNEL__) == ADC_CHANNEL_14) || \
956 ((__CHANNEL__) == ADC_CHANNEL_15) || \
957 ((__CHANNEL__) == ADC_CHANNEL_16) || \
958 ((__CHANNEL__) == ADC_CHANNEL_17) || \
959 ((__CHANNEL__) == ADC_CHANNEL_18) || \
960 ((__CHANNEL__) == ADC_CHANNEL_19) || \
961 ((__CHANNEL__) == ADC_CHANNEL_TEMPSENSOR) || \
962 ((__CHANNEL__) == ADC_CHANNEL_VBAT) || \
963 ((__CHANNEL__) == ADC_CHANNEL_DAC1CH1_ADC2)|| \
964 ((__CHANNEL__) == ADC_CHANNEL_DAC1CH2_ADC2)|| \
965 ((__CHANNEL__) == ADC_CHANNEL_VREFINT) )
972#define IS_ADC1_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) || \
973 ((__CHANNEL__) == ADC_CHANNEL_2) ||\
974 ((__CHANNEL__) == ADC_CHANNEL_3) ||\
975 ((__CHANNEL__) == ADC_CHANNEL_4) ||\
976 ((__CHANNEL__) == ADC_CHANNEL_5) ||\
977 ((__CHANNEL__) == ADC_CHANNEL_10) ||\
978 ((__CHANNEL__) == ADC_CHANNEL_11) ||\
979 ((__CHANNEL__) == ADC_CHANNEL_12) ||\
980 ((__CHANNEL__) == ADC_CHANNEL_16) ||\
981 ((__CHANNEL__) == ADC_CHANNEL_18) )
988#define IS_ADC2_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) || \
989 ((__CHANNEL__) == ADC_CHANNEL_2) || \
990 ((__CHANNEL__) == ADC_CHANNEL_3) || \
991 ((__CHANNEL__) == ADC_CHANNEL_4) || \
992 ((__CHANNEL__) == ADC_CHANNEL_5) || \
993 ((__CHANNEL__) == ADC_CHANNEL_10) || \
994 ((__CHANNEL__) == ADC_CHANNEL_11) || \
995 ((__CHANNEL__) == ADC_CHANNEL_12) || \
996 ((__CHANNEL__) == ADC_CHANNEL_18) )
1003#define IS_ADC3_DIFF_CHANNEL(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) || \
1004 ((__CHANNEL__) == ADC_CHANNEL_2) || \
1005 ((__CHANNEL__) == ADC_CHANNEL_3) || \
1006 ((__CHANNEL__) == ADC_CHANNEL_4) || \
1007 ((__CHANNEL__) == ADC_CHANNEL_5) || \
1008 ((__CHANNEL__) == ADC_CHANNEL_10) || \
1009 ((__CHANNEL__) == ADC_CHANNEL_11) || \
1010 ((__CHANNEL__) == ADC_CHANNEL_13) || \
1011 ((__CHANNEL__) == ADC_CHANNEL_14) || \
1012 ((__CHANNEL__) == ADC_CHANNEL_15) )
1020#define ADC_CHANNEL_DIFF_NEG_INPUT_ADC1(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) ? ADC_CHANNEL_0 : \
1021 ((__CHANNEL__) == ADC_CHANNEL_2) ? ADC_CHANNEL_6 : \
1022 ((__CHANNEL__) == ADC_CHANNEL_3) ? ADC_CHANNEL_7 : \
1023 ((__CHANNEL__) == ADC_CHANNEL_4) ? ADC_CHANNEL_8 : \
1024 ((__CHANNEL__) == ADC_CHANNEL_5) ? ADC_CHANNEL_9 : \
1025 ((__CHANNEL__) == ADC_CHANNEL_10) ? ADC_CHANNEL_11 : \
1026 ((__CHANNEL__) == ADC_CHANNEL_11) ? ADC_CHANNEL_12 : \
1027 ((__CHANNEL__) == ADC_CHANNEL_12) ? ADC_CHANNEL_13 : \
1028 ((__CHANNEL__) == ADC_CHANNEL_16) ? ADC_CHANNEL_17 : \
1029 ((__CHANNEL__) == ADC_CHANNEL_18) ? ADC_CHANNEL_19 : 0UL)
1037#define ADC_CHANNEL_DIFF_NEG_INPUT_ADC2(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) ? ADC_CHANNEL_0 : \
1038 ((__CHANNEL__) == ADC_CHANNEL_2) ? ADC_CHANNEL_6 : \
1039 ((__CHANNEL__) == ADC_CHANNEL_3) ? ADC_CHANNEL_7 : \
1040 ((__CHANNEL__) == ADC_CHANNEL_4) ? ADC_CHANNEL_8 : \
1041 ((__CHANNEL__) == ADC_CHANNEL_5) ? ADC_CHANNEL_9 : \
1042 ((__CHANNEL__) == ADC_CHANNEL_10) ? ADC_CHANNEL_11 : \
1043 ((__CHANNEL__) == ADC_CHANNEL_11) ? ADC_CHANNEL_12 : \
1044 ((__CHANNEL__) == ADC_CHANNEL_12) ? ADC_CHANNEL_13 : \
1045 ((__CHANNEL__) == ADC_CHANNEL_18) ? ADC_CHANNEL_19 : 0UL)
1047#if defined(ADC_VER_V5_V90)
1054#define ADC_CHANNEL_DIFF_NEG_INPUT_ADC3(__CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_1) ? ADC_CHANNEL_0 : \
1055 ((__CHANNEL__) == ADC_CHANNEL_2) ? ADC_CHANNEL_6 : \
1056 ((__CHANNEL__) == ADC_CHANNEL_3) ? ADC_CHANNEL_7 : \
1057 ((__CHANNEL__) == ADC_CHANNEL_4) ? ADC_CHANNEL_8 : \
1058 ((__CHANNEL__) == ADC_CHANNEL_5) ? ADC_CHANNEL_9 : \
1059 ((__CHANNEL__) == ADC_CHANNEL_10) ? ADC_CHANNEL_11 : \
1060 ((__CHANNEL__) == ADC_CHANNEL_11) ? ADC_CHANNEL_12 : \
1061 ((__CHANNEL__) == ADC_CHANNEL_13) ? ADC_CHANNEL_14 : \
1062 ((__CHANNEL__) == ADC_CHANNEL_14) ? ADC_CHANNEL_15 : 0UL)
1065#if defined(ADC_VER_V5_V90)
1073#define ADC_CHANNEL_DIFF_NEG_INPUT(__HANDLE__, __CHANNEL__) ((((__HANDLE__)->Instance) == ADC1) ? ADC_CHANNEL_DIFF_NEG_INPUT_ADC1(__CHANNEL__) : \
1074 (((__HANDLE__)->Instance) == ADC2) ? ADC_CHANNEL_DIFF_NEG_INPUT_ADC2(__CHANNEL__) : \
1075 (((__HANDLE__)->Instance) == ADC3) ? ADC_CHANNEL_DIFF_NEG_INPUT_ADC3(__CHANNEL__) : 0UL)
1084#define ADC_CHANNEL_DIFF_NEG_INPUT(__HANDLE__, __CHANNEL__) ((((__HANDLE__)->Instance) == ADC1) ? ADC_CHANNEL_DIFF_NEG_INPUT_ADC1(__CHANNEL__) : \
1085 (((__HANDLE__)->Instance) == ADC2) ? ADC_CHANNEL_DIFF_NEG_INPUT_ADC2(__CHANNEL__) : 0UL)
1093#define IS_ADC_SINGLE_DIFFERENTIAL(__SING_DIFF__) (((__SING_DIFF__) == ADC_SINGLE_ENDED) || \
1094 ((__SING_DIFF__) == ADC_DIFFERENTIAL_ENDED) )
1101#define IS_ADC_OFFSET_NUMBER(__OFFSET_NUMBER__) (((__OFFSET_NUMBER__) == ADC_OFFSET_NONE) || \
1102 ((__OFFSET_NUMBER__) == ADC_OFFSET_1) || \
1103 ((__OFFSET_NUMBER__) == ADC_OFFSET_2) || \
1104 ((__OFFSET_NUMBER__) == ADC_OFFSET_3) || \
1105 ((__OFFSET_NUMBER__) == ADC_OFFSET_4) )
1106#if defined(ADC_VER_V5_V90)
1112#define IS_ADC3_OFFSET_SIGN(__OFFSET_SIGN__) (((__OFFSET_SIGN__) == ADC3_OFFSET_SIGN_NEGATIVE) || \
1113 ((__OFFSET_SIGN__) == ADC3_OFFSET_SIGN_POSITIVE) )
1120#define IS_ADC_INJECTED_RANK(__CHANNEL__) (((__CHANNEL__) == ADC_INJECTED_RANK_1) || \
1121 ((__CHANNEL__) == ADC_INJECTED_RANK_2) || \
1122 ((__CHANNEL__) == ADC_INJECTED_RANK_3) || \
1123 ((__CHANNEL__) == ADC_INJECTED_RANK_4) )
1131#define IS_ADC_EXTTRIGINJEC(__INJTRIG__) (((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_TRGO) || \
1132 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_CC4) || \
1133 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T2_TRGO) || \
1134 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T2_CC1) || \
1135 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC4) || \
1136 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T4_TRGO) || \
1137 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_EXT_IT15) || \
1138 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_CC4) || \
1139 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_TRGO2) || \
1140 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_TRGO) || \
1141 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_TRGO2) || \
1142 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC3) || \
1143 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_TRGO) || \
1144 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC1) || \
1145 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T6_TRGO) || \
1146 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T15_TRGO) || \
1147 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_HR1_ADCTRG2) || \
1148 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_HR1_ADCTRG4) || \
1149 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM1_OUT) || \
1150 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM2_OUT) || \
1151 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM3_OUT) || \
1153 ((__INJTRIG__) == ADC_SOFTWARE_START) )
1155#define IS_ADC_EXTTRIGINJEC(__INJTRIG__) (((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_TRGO) || \
1156 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_CC4) || \
1157 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T2_TRGO) || \
1158 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T2_CC1) || \
1159 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC4) || \
1160 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T4_TRGO) || \
1161 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_EXT_IT15) || \
1162 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_CC4) || \
1163 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T1_TRGO2) || \
1164 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_TRGO) || \
1165 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T8_TRGO2) || \
1166 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC3) || \
1167 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_TRGO) || \
1168 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T3_CC1) || \
1169 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T6_TRGO) || \
1170 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_T15_TRGO) || \
1171 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM1_OUT) || \
1172 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM2_OUT) || \
1173 ((__INJTRIG__) == ADC_EXTERNALTRIGINJEC_LPTIM3_OUT) || \
1175 ((__INJTRIG__) == ADC_SOFTWARE_START) )
1182#define IS_ADC_EXTTRIGINJEC_EDGE(__EDGE__) (((__EDGE__) == ADC_EXTERNALTRIGINJECCONV_EDGE_NONE) || \
1183 ((__EDGE__) == ADC_EXTERNALTRIGINJECCONV_EDGE_RISING) || \
1184 ((__EDGE__) == ADC_EXTERNALTRIGINJECCONV_EDGE_FALLING) || \
1185 ((__EDGE__) == ADC_EXTERNALTRIGINJECCONV_EDGE_RISINGFALLING) )
1192#define IS_ADC_MULTIMODE(__MODE__) (((__MODE__) == ADC_MODE_INDEPENDENT) || \
1193 ((__MODE__) == ADC_DUALMODE_REGSIMULT_INJECSIMULT) || \
1194 ((__MODE__) == ADC_DUALMODE_REGSIMULT_ALTERTRIG) || \
1195 ((__MODE__) == ADC_DUALMODE_REGINTERL_INJECSIMULT) || \
1196 ((__MODE__) == ADC_DUALMODE_INJECSIMULT) || \
1197 ((__MODE__) == ADC_DUALMODE_REGSIMULT) || \
1198 ((__MODE__) == ADC_DUALMODE_INTERL) || \
1199 ((__MODE__) == ADC_DUALMODE_ALTERTRIG) )
1206#define IS_ADC_DUAL_DATA_MODE(MODE) (((MODE) == ADC_DUALMODEDATAFORMAT_DISABLED) || \
1207 ((MODE) == ADC_DUALMODEDATAFORMAT_32_10_BITS) || \
1208 ((MODE) == ADC_DUALMODEDATAFORMAT_8_BITS) )
1215#define IS_ADC_SAMPLING_DELAY(__DELAY__) (((__DELAY__) == ADC_TWOSAMPLINGDELAY_1CYCLE) || \
1216 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_2CYCLES) || \
1217 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_3CYCLES) || \
1218 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_4CYCLES) || \
1219 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_5CYCLES) || \
1220 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_6CYCLES) || \
1221 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_7CYCLES) || \
1222 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_8CYCLES) || \
1223 ((__DELAY__) == ADC_TWOSAMPLINGDELAY_9CYCLES) )
1230#define IS_ADC_ANALOG_WATCHDOG_NUMBER(__WATCHDOG__) (((__WATCHDOG__) == ADC_ANALOGWATCHDOG_1) || \
1231 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_2) || \
1232 ((__WATCHDOG__) == ADC_ANALOGWATCHDOG_3) )
1239#define IS_ADC_ANALOG_WATCHDOG_MODE(__WATCHDOG_MODE__) (((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_NONE) || \
1240 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_SINGLE_REG) || \
1241 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || \
1242 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) || \
1243 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_ALL_REG) || \
1244 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_ALL_INJEC) || \
1245 ((__WATCHDOG_MODE__) == ADC_ANALOGWATCHDOG_ALL_REGINJEC) )
1247#if defined(ADC_VER_V5_V90)
1253#define IS_ADC_ANALOG_WATCHDOG_FILTERING_MODE_ADC3(__FILTERING_MODE__) (((__FILTERING_MODE__) == ADC3_AWD_FILTERING_NONE) || \
1254 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_2SAMPLES) || \
1255 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_3SAMPLES) || \
1256 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_4SAMPLES) || \
1257 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_5SAMPLES) || \
1258 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_6SAMPLES) || \
1259 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_7SAMPLES) || \
1260 ((__FILTERING_MODE__) == ADC3_AWD_FILTERING_8SAMPLES) )
1269#define IS_ADC_CONVERSION_GROUP(__CONVERSION__) (((__CONVERSION__) == ADC_REGULAR_GROUP) || \
1270 ((__CONVERSION__) == ADC_INJECTED_GROUP) || \
1271 ((__CONVERSION__) == ADC_REGULAR_INJECTED_GROUP) )
1278#define IS_ADC_EVENT_TYPE(__EVENT__) (((__EVENT__) == ADC_EOSMP_EVENT) || \
1279 ((__EVENT__) == ADC_AWD_EVENT) || \
1280 ((__EVENT__) == ADC_AWD2_EVENT) || \
1281 ((__EVENT__) == ADC_AWD3_EVENT) || \
1282 ((__EVENT__) == ADC_OVR_EVENT) || \
1283 ((__EVENT__) == ADC_JQOVF_EVENT) )
1290#define IS_ADC_OVERSAMPLING_RATIO(RATIO) (((RATIO) >= 1UL) && ((RATIO) <= 1024UL))
1292#if defined(ADC_VER_V5_V90)
1298#define IS_ADC_OVERSAMPLING_RATIO_ADC3(__RATIO__) (((__RATIO__) == ADC3_OVERSAMPLING_RATIO_2 ) || \
1299 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_4 ) || \
1300 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_8 ) || \
1301 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_16 ) || \
1302 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_32 ) || \
1303 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_64 ) || \
1304 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_128 ) || \
1305 ((__RATIO__) == ADC3_OVERSAMPLING_RATIO_256 ))
1313#define IS_ADC_RIGHT_BIT_SHIFT(__SHIFT__) (((__SHIFT__) == ADC_RIGHTBITSHIFT_NONE) || \
1314 ((__SHIFT__) == ADC_RIGHTBITSHIFT_1 ) || \
1315 ((__SHIFT__) == ADC_RIGHTBITSHIFT_2 ) || \
1316 ((__SHIFT__) == ADC_RIGHTBITSHIFT_3 ) || \
1317 ((__SHIFT__) == ADC_RIGHTBITSHIFT_4 ) || \
1318 ((__SHIFT__) == ADC_RIGHTBITSHIFT_5 ) || \
1319 ((__SHIFT__) == ADC_RIGHTBITSHIFT_6 ) || \
1320 ((__SHIFT__) == ADC_RIGHTBITSHIFT_7 ) || \
1321 ((__SHIFT__) == ADC_RIGHTBITSHIFT_8 ) || \
1322 ((__SHIFT__) == ADC_RIGHTBITSHIFT_9 ) || \
1323 ((__SHIFT__) == ADC_RIGHTBITSHIFT_10 ) || \
1324 ((__SHIFT__) == ADC_RIGHTBITSHIFT_11 ))
1331#define IS_ADC_TRIGGERED_OVERSAMPLING_MODE(__MODE__) (((__MODE__) == ADC_TRIGGEREDMODE_SINGLE_TRIGGER) || \
1332 ((__MODE__) == ADC_TRIGGEREDMODE_MULTI_TRIGGER) )
1339#define IS_ADC_REGOVERSAMPLING_MODE(__MODE__) (((__MODE__) == ADC_REGOVERSAMPLING_CONTINUED_MODE) || \
1340 ((__MODE__) == ADC_REGOVERSAMPLING_RESUMED_MODE) )
1350#if defined(DFSDM1_Channel0)
1351#define IS_ADC_DFSDMCFG_MODE(__HANDLE__) (((__HANDLE__)->Init.DFSDMConfig == ADC_DFSDM_MODE_DISABLE) || \
1352 ((__HANDLE__)->Init.DFSDMConfig == ADC_DFSDM_MODE_ENABLE) )
1354#define IS_ADC_DFSDMCFG_MODE(__HANDLE__) (SET)
1365#if defined(DFSDM1_Channel0)
1366#define ADC_CFGR_DFSDM(__HANDLE__) ((__HANDLE__)->Init.DFSDMConfig)
1368#define ADC_CFGR_DFSDM(__HANDLE__) (0x0UL)
HAL_StatusTypeDef HAL_ADCEx_RegularStop(ADC_HandleTypeDef *hadc)
void HAL_ADCEx_InjectedQueueOverflowCallback(ADC_HandleTypeDef *hadc)
void HAL_ADCEx_EndOfSamplingCallback(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_RegularStop_DMA(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_SetValue(ADC_HandleTypeDef *hadc, uint32_t *LinearCalib_Buffer)
uint32_t HAL_ADCEx_MultiModeGetValue(const ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout)
uint32_t HAL_ADCEx_Calibration_GetValue(const ADC_HandleTypeDef *hadc, uint32_t SingleDiff)
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_Calibration_SetValue(ADC_HandleTypeDef *hadc, uint32_t SingleDiff, uint32_t CalibrationFactor)
HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef *hadc)
void HAL_ADCEx_LevelOutOfWindow3Callback(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef *hadc, uint32_t CalibrationMode, uint32_t SingleDiff)
HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_RegularMultiModeStop_DMA(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef *hadc, const uint32_t *pData, uint32_t Length)
HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_FactorLoad(ADC_HandleTypeDef *hadc)
void HAL_ADCEx_LevelOutOfWindow2Callback(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_RegularStop_IT(ADC_HandleTypeDef *hadc)
void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_LinearCalibration_GetValue(ADC_HandleTypeDef *hadc, uint32_t *LinearCalib_Buffer)
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef *hadc)
uint32_t HAL_ADCEx_InjectedGetValue(const ADC_HandleTypeDef *hadc, uint32_t InjectedRank)
HAL_StatusTypeDef HAL_ADCEx_EnterADCDeepPowerDownMode(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_DisableVoltageRegulator(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef *hadc, ADC_InjectionConfTypeDef *sConfigInjected)
HAL_StatusTypeDef HAL_ADCEx_EnableInjectedQueue(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_DisableInjectedQueue(ADC_HandleTypeDef *hadc)
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef *hadc, ADC_MultiModeTypeDef *multimode)
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
ADC handle Structure definition.
ADC Injected Conversion Oversampling structure definition.
uint32_t Ratio
Configures the oversampling ratio.
uint32_t RightBitShift
Configures the division coefficient for the Oversampler.
Structure definition of ADC group injected and ADC channel affected to ADC group injected.
uint32_t InjectedOffsetNumber
Selects the offset number.
uint32_t InjectedSingleDiff
Selection of single-ended or differential input.
FunctionalState AutoInjectedConv
Enables or disables the selected ADC group injected automatic conversion after regular one This param...
uint32_t InjectedSamplingTime
Sampling time value to be set for the selected channel.
FunctionalState InjectedOffsetSignedSaturation
Specifies whether the Signed saturation feature is used or not.
uint32_t ExternalTrigInjecConvEdge
Selects the external trigger edge of injected group.
FunctionalState QueueInjectedContext
Specifies whether the context queue feature is enabled.
ADC_InjOversamplingTypeDef InjecOversampling
Specifies the Oversampling parameters.
uint32_t InjectedChannel
Specifies the channel to configure into ADC group injected.
FunctionalState InjectedDiscontinuousConvMode
Specifies whether the conversions sequence of ADC group injected is performed in Complete-sequence/Di...
uint32_t ExternalTrigInjecConv
Selects the external event used to trigger the conversion start of injected group.
uint32_t InjectedOffsetRightShift
Specifies whether the 1 bit Right-shift feature is used or not.
uint32_t InjectedNbrOfConversion
Specifies the number of ranks that will be converted within the ADC group injected sequencer.
uint32_t InjectedOffset
Defines the offset to be subtracted from the raw converted data.
FunctionalState InjecOversamplingMode
Specifies whether the oversampling feature is enabled or disabled.
uint32_t InjectedRank
Specifies the rank in the ADC group injected sequencer.
Structure definition of ADC multimode.
uint32_t Mode
Configures the ADC to operate in independent or multimode.
uint32_t TwoSamplingDelay
Configures the Delay between 2 sampling phases.
uint32_t DualModeData
Configures the Dual ADC Mode Data Format: This parameter can be a value of ADC Extended Dual Mode Dat...