43#if defined(USE_FULL_DDL_DRIVER)
52 #define ASSERT_PARAM(_PARAM_) ((void)0U)
99#define ADC12_CLOCK_RATIO_VS_CPU_HIGHEST (3968UL)
100#define ADC12_TIMEOUT_DISABLE_CPU_CYCLES (ADC12_CLOCK_RATIO_VS_CPU_HIGHEST * 1UL)
101#define ADC12_TIMEOUT_STOP_CONVERSION_CPU_CYCLES (ADC12_CLOCK_RATIO_VS_CPU_HIGHEST * 1UL)
103#define IS_DDL_ADC12_REG_TRIG_SOURCE(__ADC12_INSTANCE__, __REG_TRIG_SOURCE__) \
104 (((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_SOFTWARE) \
105 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR1_CC1) \
106 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR1_CC2) \
107 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR1_CC3) \
108 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR2_CC2) \
109 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR3_TRGO) \
110 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_TMR4_CC4) \
111 || ((__REG_TRIG_SOURCE__) == DDL_ADC12_REG_TRIG_EXT_EINT_LINE11) \
114#define IS_DDL_ADC12_REG_SEQ_SCAN_LENGTH(__REG_SEQ_SCAN_LENGTH__) \
115 (((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_DISABLE) \
116 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_2RANKS) \
117 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_3RANKS) \
118 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_4RANKS) \
119 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_5RANKS) \
120 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_6RANKS) \
121 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_7RANKS) \
122 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_8RANKS) \
123 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_9RANKS) \
124 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_10RANKS) \
125 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_11RANKS) \
126 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_12RANKS) \
127 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_13RANKS) \
128 || ((__REG_SEQ_SCAN_LENGTH__) == DDL_ADC12_REG_SEQ_SCAN_ENABLE_14RANKS) \
131#define IS_DDL_ADC12_REG_SEQ_SCAN_DISCONT_MODE(__REG_SEQ_DISCONT_MODE__) \
132 (((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_DISABLE) \
133 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_1RANK) \
134 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_2RANKS) \
135 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_3RANKS) \
136 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_4RANKS) \
137 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_5RANKS) \
138 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_6RANKS) \
139 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_7RANKS) \
140 || ((__REG_SEQ_DISCONT_MODE__) == DDL_ADC12_REG_SEQ_DISCONT_8RANKS) \
143#define IS_DDL_ADC12_REG_CONTINUOUS_MODE(__REG_CONTINUOUS_MODE__) \
144 (((__REG_CONTINUOUS_MODE__) == DDL_ADC12_REG_CONV_SINGLE) \
145 || ((__REG_CONTINUOUS_MODE__) == DDL_ADC12_REG_CONV_CONTINUOUS) \
148#define IS_DDL_ADC12_REG_DMA_TRANSFER(__REG_DMA_TRANSFER__) \
149 (((__REG_DMA_TRANSFER__) == DDL_ADC12_REG_DMA_TRANSFER_DISABLE) \
150 || ((__REG_DMA_TRANSFER__) == DDL_ADC12_REG_DMA_TRANSFER_ENABLE) \
153#define IS_DDL_ADC12_INJ_TRIG_SOURCE(__ADC12_INSTANCE__, __INJ_TRIG_SOURCE__) \
154 (((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_SOFTWARE) \
155 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR1_TRGO) \
156 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR1_CC4) \
157 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR2_TRGO) \
158 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR2_CC1) \
159 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR3_CC4) \
160 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_TMR4_TRGO) \
161 || ((__INJ_TRIG_SOURCE__) == DDL_ADC12_INJ_TRIG_EXT_EINT_LINE15) \
164#define IS_DDL_ADC12_INJ_TRIG_EXT_EDGE(__INJ_TRIG_EXT_EDGE__) \
165 (((__INJ_TRIG_EXT_EDGE__) == DDL_ADC12_INJ_TRIG_EXT_RISING) \
166 || ((__INJ_TRIG_EXT_EDGE__) == DDL_ADC12_INJ_TRIG_EXT_DISABLE) \
169#define IS_DDL_ADC12_INJ_TRIG_AUTO(__INJ_TRIG_AUTO__) \
170 (((__INJ_TRIG_AUTO__) == DDL_ADC12_INJ_TRIG_INDEPENDENT) \
171 || ((__INJ_TRIG_AUTO__) == DDL_ADC12_INJ_TRIG_FROM_GRP_REGULAR) \
174#define IS_DDL_ADC12_INJ_SEQ_SCAN_LENGTH(__INJ_SEQ_SCAN_LENGTH__) \
175 (((__INJ_SEQ_SCAN_LENGTH__) == DDL_ADC12_INJ_SEQ_SCAN_DISABLE) \
176 || ((__INJ_SEQ_SCAN_LENGTH__) == DDL_ADC12_INJ_SEQ_SCAN_ENABLE_2RANKS) \
177 || ((__INJ_SEQ_SCAN_LENGTH__) == DDL_ADC12_INJ_SEQ_SCAN_ENABLE_3RANKS) \
178 || ((__INJ_SEQ_SCAN_LENGTH__) == DDL_ADC12_INJ_SEQ_SCAN_ENABLE_4RANKS) \
181#define IS_DDL_ADC12_INJ_SEQ_SCAN_DISCONT_MODE(__INJ_SEQ_DISCONT_MODE__) \
182 (((__INJ_SEQ_DISCONT_MODE__) == DDL_ADC12_INJ_SEQ_DISCONT_DISABLE) \
183 || ((__INJ_SEQ_DISCONT_MODE__) == DDL_ADC12_INJ_SEQ_DISCONT_1RANK) \
186#define IS_DDL_ADC12_CHANNEL(__CHANNEL__) \
187 (((__CHANNEL__) == DDL_ADC12_CHANNEL_0) \
188 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_1) \
189 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_2) \
190 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_3) \
191 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_4) \
192 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_5) \
193 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_6) \
194 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_7) \
195 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_8) \
196 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_9) \
197 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_10) \
198 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_11) \
199 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_12) \
200 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_13) \
201 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_14) \
202 || ((__CHANNEL__) == DDL_ADC12_CHANNEL_15) \
238 ErrorStatus status = SUCCESS;
240 __IO uint32_t timeout_cpu_cycles = 0UL;
281 timeout_cpu_cycles--;
282 if (timeout_cpu_cycles == 0UL)
296 if (READ_BIT(ADCx->CR,
297 (ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_ADSTART
335 MODIFY_REG(ADCx->CFGR,
336 ( ADC_CFGR_AWD1CH | ADC_CFGR_JAUTO | ADC_CFGR_JAWD1EN
337 | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL
338 | ADC_CFGR_JDISCEN | ADC_CFGR_DISCNUM | ADC_CFGR_DISCEN
340 | ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL | ADC_CFGR_ALIGN
346 CLEAR_BIT(ADCx->SMPR1,
347 ( ADC_SMPR1_SMP7 | ADC_SMPR1_SMP6
348 | ADC_SMPR1_SMP5 | ADC_SMPR1_SMP4 | ADC_SMPR1_SMP3
349 | ADC_SMPR1_SMP2 | ADC_SMPR1_SMP1 | ADC_SMPR1_SMP0)
353 CLEAR_BIT(ADCx->SMPR2,
354 ( ADC_SMPR2_SMP15 | ADC_SMPR2_SMP14
355 | ADC_SMPR2_SMP13 | ADC_SMPR2_SMP12 | ADC_SMPR2_SMP11
356 | ADC_SMPR2_SMP10 | ADC_SMPR2_SMP9 | ADC_SMPR2_SMP8)
360 MODIFY_REG(ADCx->TR1, ADC_TR1_HT1 | ADC_TR1_LT1, ADC_TR1_HT1);
363 CLEAR_BIT(ADCx->SQR1,
364 ( ADC_SQR1_SQ7 | ADC_SQR1_SQ6 | ADC_SQR1_SQ5
365 | ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2
366 | ADC_SQR1_SQ1 | ADC_SQR1_RL)
370 CLEAR_BIT(ADCx->SQR2,
371 ( ADC_SQR2_SQ14 | ADC_SQR2_SQ13
372 | ADC_SQR2_SQ12 | ADC_SQR2_SQ11 | ADC_SQR2_SQ10
373 | ADC_SQR2_SQ9 | ADC_SQR2_SQ8)
376 CLEAR_BIT(ADCx->SQR3,
377 ( ADC_SQR3_SQ16 | ADC_SQR3_SQ15) );
380 CLEAR_BIT(ADCx->JSQR,
382 | ADC_JSQR_JEXTSEL | ADC_JSQR_JEXTEN
383 | ADC_JSQR_JSQ4 | ADC_JSQR_JSQ3
384 | ADC_JSQR_JSQ2 | ADC_JSQR_JSQ1)
391 CLEAR_BIT(ADCx->JOFFSET1, ADC_JOFFSET1_JOFFSET1);
393 CLEAR_BIT(ADCx->JOFFSET2, ADC_JOFFSET2_JOFFSET2);
395 CLEAR_BIT(ADCx->JOFFSET3, ADC_JOFFSET3_JOFFSET3);
397 CLEAR_BIT(ADCx->JOFFSET4, ADC_JOFFSET4_JOFFSET4);
448 ErrorStatus status = SUCCESS;
460 MODIFY_REG(ADCx->CFGR, ADC_CFGR_ALIGN, ADC_InitStruct->
DataAlignment);
519 ErrorStatus status = SUCCESS;
554 MODIFY_REG(ADCx->CFGR,
570 MODIFY_REG(ADCx->CFGR,
649 ErrorStatus status = SUCCESS;
676 MODIFY_REG(ADCx->CFGR,
686 MODIFY_REG(ADCx->CFGR,
695 MODIFY_REG(ADCx->JSQR,
G32 assert template file. This file should be copied to the application folder and renamed to g32_ass...
#define ASSERT_PARAM(_PARAM_)
Header file of ADC DDL module.
Header file of RCM DDL module.
#define DDL_ADC12_FLAG_EOS
#define DDL_ADC12_FLAG_JEOS
#define DDL_ADC12_FLAG_EOC
#define DDL_ADC12_FLAG_JEOC
#define DDL_ADC12_FLAG_AWD1
#define DDL_ADC12_INJ_SEQ_DISCONT_DISABLE
#define DDL_ADC12_INJ_SEQ_SCAN_DISABLE
#define DDL_ADC12_INJ_TRIG_SOFTWARE
#define DDL_ADC12_INJ_TRIG_INDEPENDENT
#define DDL_ADC12_IT_JEOS
#define DDL_ADC12_IT_AWD1
#define DDL_ADC12_IT_JEOC
#define DDL_ADC12_REG_CONV_SINGLE
#define DDL_ADC12_REG_DMA_TRANSFER_DISABLE
#define DDL_ADC12_REG_SEQ_DISCONT_DISABLE
#define DDL_ADC12_REG_SEQ_SCAN_DISABLE
#define DDL_ADC12_REG_TRIG_SOFTWARE
__STATIC_INLINE void DDL_ADC12_INJ_SetTriggerSource(ADC12_TypeDef *ADCx, uint32_t TriggerSource)
Set ADC group injected conversion trigger source: internal (SW start) or from external peripheral (ti...
__STATIC_INLINE void DDL_ADC12_REG_SetSequencerLength(ADC12_TypeDef *ADCx, uint32_t SequencerNbRanks)
Set ADC group regular sequencer length and scan direction.
__STATIC_INLINE void DDL_ADC12_REG_SetTriggerSource(ADC12_TypeDef *ADCx, uint32_t TriggerSource)
Set ADC group regular conversion trigger source: internal (SW start) or from external peripheral (tim...
ErrorStatus DDL_ADC12_DeInit(ADC12_TypeDef *ADCx)
De-initialize registers of the selected ADC instance to their default reset values.
void DDL_ADC12_INJ_StructInit(DDL_ADC12_INJ_InitTypeDef *ADC_INJ_InitStruct)
Set each DDL_ADC12_INJ_InitTypeDef field to default value.
ErrorStatus DDL_ADC12_INJ_Init(ADC12_TypeDef *ADCx, DDL_ADC12_INJ_InitTypeDef *ADC_INJ_InitStruct)
Initialize some features of ADC group injected.
void DDL_ADC12_StructInit(DDL_ADC12_InitTypeDef *ADC_InitStruct)
Set each DDL_ADC12_InitTypeDef field to default value.
ErrorStatus DDL_ADC12_Init(ADC12_TypeDef *ADCx, DDL_ADC12_InitTypeDef *ADC_InitStruct)
Initialize some features of ADC instance.
void DDL_ADC12_REG_StructInit(DDL_ADC12_REG_InitTypeDef *ADC_REG_InitStruct)
Set each DDL_ADC12_REG_InitTypeDef field to default value.
ErrorStatus DDL_ADC12_REG_Init(ADC12_TypeDef *ADCx, DDL_ADC12_REG_InitTypeDef *ADC_REG_InitStruct)
Initialize some features of ADC group regular.
__STATIC_INLINE void DDL_ADC12_INJ_StopConversion(ADC12_TypeDef *ADCx)
Stop ADC group injected conversion.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_IsStopConversionOngoing(ADC12_TypeDef *ADCx)
Get ADC group injected command of conversion stop state.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_IsConversionOngoing(ADC12_TypeDef *ADCx)
Get ADC group injected conversion state.
__STATIC_INLINE void DDL_ADC12_REG_StopConversion(ADC12_TypeDef *ADCx)
Stop ADC group regular conversion.
__STATIC_INLINE uint32_t DDL_ADC12_REG_IsConversionOngoing(ADC12_TypeDef *ADCx)
Get ADC group regular conversion state.
__STATIC_INLINE uint32_t DDL_ADC12_REG_IsStopConversionOngoing(ADC12_TypeDef *ADCx)
Get ADC group regular command of conversion stop state.
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabled(ADC12_TypeDef *ADCx)
Get the selected ADC instance enable state.
__STATIC_INLINE void DDL_ADC12_Disable(ADC12_TypeDef *ADCx)
Disable the selected ADC instance.
#define IS_DDL_ADC12_INJ_TRIG_AUTO(__INJ_TRIG_AUTO__)
#define IS_DDL_ADC12_REG_TRIG_SOURCE(__ADC12_INSTANCE__, __REG_TRIG_SOURCE__)
#define ADC12_TIMEOUT_STOP_CONVERSION_CPU_CYCLES
#define IS_DDL_ADC12_REG_SEQ_SCAN_DISCONT_MODE(__REG_SEQ_DISCONT_MODE__)
#define IS_DDL_ADC12_INJ_TRIG_SOURCE(__ADC12_INSTANCE__, __INJ_TRIG_SOURCE__)
#define IS_DDL_ADC12_REG_CONTINUOUS_MODE(__REG_CONTINUOUS_MODE__)
#define IS_DDL_ADC12_INJ_SEQ_SCAN_LENGTH(__INJ_SEQ_SCAN_LENGTH__)
#define IS_DDL_ADC12_INJ_SEQ_SCAN_DISCONT_MODE(__INJ_SEQ_DISCONT_MODE__)
#define IS_DDL_ADC12_REG_SEQ_SCAN_LENGTH(__REG_SEQ_SCAN_LENGTH__)
#define IS_DDL_ADC12_REG_DMA_TRANSFER(__REG_DMA_TRANSFER__)
#define DDL_ADC12_ALIGNMENT_RIGHT
Structure definition of some features of ADC group injected.
uint32_t SequencerDiscont
Structure definition of some features of ADC instance.
Structure definition of some features of ADC group regular.
uint32_t SequencerDiscont