20#ifndef STM32H7xx_LL_ADC_H
21#define STM32H7xx_LL_ADC_H
34#if defined (ADC1) || defined (ADC2) || defined (ADC3)
56#define ADC_CALIB_FACTOR_OFFSET_REGOFFSET (0x00000000UL)
57#define ADC_CALIB_FACTOR_LINEARITY_REGOFFSET (0x00000001UL)
58#define ADC_CALIB_FACTOR_REGOFFSET_MASK (ADC_CALIB_FACTOR_OFFSET_REGOFFSET | ADC_CALIB_FACTOR_LINEARITY_REGOFFSET)
59#define ADC_CALIB_MODE_MASK (ADC_CR_ADCALLIN)
60#define ADC_CALIB_MODE_BINARY_MASK (ADC_CALIB_FACTOR_REGOFFSET_MASK)
70#define ADC_SQR1_REGOFFSET (0x00000000UL)
71#define ADC_SQR2_REGOFFSET (0x00000100UL)
72#define ADC_SQR3_REGOFFSET (0x00000200UL)
73#define ADC_SQR4_REGOFFSET (0x00000300UL)
75#define ADC_REG_SQRX_REGOFFSET_MASK (ADC_SQR1_REGOFFSET | ADC_SQR2_REGOFFSET | ADC_SQR3_REGOFFSET | ADC_SQR4_REGOFFSET)
76#define ADC_SQRX_REGOFFSET_POS (8UL)
77#define ADC_REG_RANK_ID_SQRX_MASK (ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0)
81#define ADC_REG_RANK_1_SQRX_BITOFFSET_POS ( 6UL)
82#define ADC_REG_RANK_2_SQRX_BITOFFSET_POS (12UL)
83#define ADC_REG_RANK_3_SQRX_BITOFFSET_POS (18UL)
84#define ADC_REG_RANK_4_SQRX_BITOFFSET_POS (24UL)
85#define ADC_REG_RANK_5_SQRX_BITOFFSET_POS ( 0UL)
86#define ADC_REG_RANK_6_SQRX_BITOFFSET_POS ( 6UL)
87#define ADC_REG_RANK_7_SQRX_BITOFFSET_POS (12UL)
88#define ADC_REG_RANK_8_SQRX_BITOFFSET_POS (18UL)
89#define ADC_REG_RANK_9_SQRX_BITOFFSET_POS (24UL)
90#define ADC_REG_RANK_10_SQRX_BITOFFSET_POS ( 0UL)
91#define ADC_REG_RANK_11_SQRX_BITOFFSET_POS ( 6UL)
92#define ADC_REG_RANK_12_SQRX_BITOFFSET_POS (12UL)
93#define ADC_REG_RANK_13_SQRX_BITOFFSET_POS (18UL)
94#define ADC_REG_RANK_14_SQRX_BITOFFSET_POS (24UL)
95#define ADC_REG_RANK_15_SQRX_BITOFFSET_POS ( 0UL)
96#define ADC_REG_RANK_16_SQRX_BITOFFSET_POS ( 6UL)
107#define ADC_JDR1_REGOFFSET (0x00000000UL)
108#define ADC_JDR2_REGOFFSET (0x00000100UL)
109#define ADC_JDR3_REGOFFSET (0x00000200UL)
110#define ADC_JDR4_REGOFFSET (0x00000300UL)
112#define ADC_INJ_JDRX_REGOFFSET_MASK (ADC_JDR1_REGOFFSET | ADC_JDR2_REGOFFSET | ADC_JDR3_REGOFFSET | ADC_JDR4_REGOFFSET)
113#define ADC_INJ_RANK_ID_JSQR_MASK (ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0)
114#define ADC_JDRX_REGOFFSET_POS (8UL)
118#define ADC_INJ_RANK_1_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ1_Pos)
119#define ADC_INJ_RANK_2_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ2_Pos)
120#define ADC_INJ_RANK_3_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ3_Pos)
121#define ADC_INJ_RANK_4_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ4_Pos)
129#define ADC_REG_TRIG_EXT_EDGE_DEFAULT (ADC_CFGR_EXTEN_0)
134#define ADC_REG_TRIG_SOURCE_MASK (((LL_ADC_REG_TRIG_SOFTWARE & ADC_CFGR_EXTSEL) << (4U * 0UL)) | \
135 ((ADC_CFGR_EXTSEL) << (4U * 1UL)) | \
136 ((ADC_CFGR_EXTSEL) << (4U * 2UL)) | \
137 ((ADC_CFGR_EXTSEL) << (4U * 3UL)) )
142#define ADC_REG_TRIG_EDGE_MASK (((LL_ADC_REG_TRIG_SOFTWARE & ADC_CFGR_EXTEN) << (4U * 0UL)) | \
143 ((ADC_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 1UL)) | \
144 ((ADC_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 2UL)) | \
145 ((ADC_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 3UL)) )
148#define ADC_REG_TRIG_EXTSEL_BITOFFSET_POS ( 6UL)
149#define ADC_REG_TRIG_EXTEN_BITOFFSET_POS (10UL)
157#define ADC_INJ_TRIG_EXT_EDGE_DEFAULT (ADC_JSQR_JEXTEN_0)
162#define ADC_INJ_TRIG_SOURCE_MASK (((LL_ADC_INJ_TRIG_SOFTWARE & ADC_JSQR_JEXTSEL) << (4U * 0UL)) | \
163 ((ADC_JSQR_JEXTSEL) << (4U * 1UL)) | \
164 ((ADC_JSQR_JEXTSEL) << (4U * 2UL)) | \
165 ((ADC_JSQR_JEXTSEL) << (4U * 3UL)) )
170#define ADC_INJ_TRIG_EDGE_MASK (((LL_ADC_INJ_TRIG_SOFTWARE & ADC_JSQR_JEXTEN) << (4U * 0UL)) | \
171 ((ADC_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 1UL)) | \
172 ((ADC_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 2UL)) | \
173 ((ADC_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 3UL)) )
176#define ADC_INJ_TRIG_EXTSEL_BITOFFSET_POS ( 2UL)
177#define ADC_INJ_TRIG_EXTEN_BITOFFSET_POS ( 6UL)
192#define ADC_CHANNEL_ID_NUMBER_MASK (ADC_CFGR_AWD1CH)
193#define ADC_CHANNEL_ID_BITFIELD_MASK (ADC_AWD2CR_AWD2CH)
194#define ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS (26UL)
195#define ADC_CHANNEL_ID_MASK (ADC_CHANNEL_ID_NUMBER_MASK | ADC_CHANNEL_ID_BITFIELD_MASK | ADC_CHANNEL_ID_INTERNAL_CH_MASK)
197#define ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0 (ADC_SQR2_SQ5)
200#define ADC_CHANNEL_ID_INTERNAL_CH (0x80000000UL)
201#define ADC_CHANNEL_ID_INTERNAL_CH_MASK (ADC_CHANNEL_ID_INTERNAL_CH)
205#define ADC_SMPR1_REGOFFSET (0x00000000UL)
206#define ADC_SMPR2_REGOFFSET (0x02000000UL)
207#define ADC_CHANNEL_SMPRX_REGOFFSET_MASK (ADC_SMPR1_REGOFFSET | ADC_SMPR2_REGOFFSET)
208#define ADC_SMPRX_REGOFFSET_POS (25UL)
210#define ADC_CHANNEL_SMPx_BITOFFSET_MASK (0x01F00000UL)
211#define ADC_CHANNEL_SMPx_BITOFFSET_POS (20UL)
215#define ADC_CHANNEL_0_NUMBER (0x00000000UL)
216#define ADC_CHANNEL_1_NUMBER ( ADC_CFGR_AWD1CH_0)
217#define ADC_CHANNEL_2_NUMBER ( ADC_CFGR_AWD1CH_1 )
218#define ADC_CHANNEL_3_NUMBER ( ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
219#define ADC_CHANNEL_4_NUMBER ( ADC_CFGR_AWD1CH_2 )
220#define ADC_CHANNEL_5_NUMBER ( ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_0)
221#define ADC_CHANNEL_6_NUMBER ( ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 )
222#define ADC_CHANNEL_7_NUMBER ( ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
223#define ADC_CHANNEL_8_NUMBER ( ADC_CFGR_AWD1CH_3 )
224#define ADC_CHANNEL_9_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_0)
225#define ADC_CHANNEL_10_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_1 )
226#define ADC_CHANNEL_11_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
227#define ADC_CHANNEL_12_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 )
228#define ADC_CHANNEL_13_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_0)
229#define ADC_CHANNEL_14_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 )
230#define ADC_CHANNEL_15_NUMBER ( ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
231#define ADC_CHANNEL_16_NUMBER (ADC_CFGR_AWD1CH_4 )
232#define ADC_CHANNEL_17_NUMBER (ADC_CFGR_AWD1CH_4 | ADC_CFGR_AWD1CH_0)
233#define ADC_CHANNEL_18_NUMBER (ADC_CFGR_AWD1CH_4 | ADC_CFGR_AWD1CH_1 )
234#define ADC_CHANNEL_19_NUMBER (ADC_CFGR_AWD1CH_4 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
238#define ADC_CHANNEL_0_BITFIELD (ADC_AWD2CR_AWD2CH_0)
239#define ADC_CHANNEL_1_BITFIELD (ADC_AWD2CR_AWD2CH_1)
240#define ADC_CHANNEL_2_BITFIELD (ADC_AWD2CR_AWD2CH_2)
241#define ADC_CHANNEL_3_BITFIELD (ADC_AWD2CR_AWD2CH_3)
242#define ADC_CHANNEL_4_BITFIELD (ADC_AWD2CR_AWD2CH_4)
243#define ADC_CHANNEL_5_BITFIELD (ADC_AWD2CR_AWD2CH_5)
244#define ADC_CHANNEL_6_BITFIELD (ADC_AWD2CR_AWD2CH_6)
245#define ADC_CHANNEL_7_BITFIELD (ADC_AWD2CR_AWD2CH_7)
246#define ADC_CHANNEL_8_BITFIELD (ADC_AWD2CR_AWD2CH_8)
247#define ADC_CHANNEL_9_BITFIELD (ADC_AWD2CR_AWD2CH_9)
248#define ADC_CHANNEL_10_BITFIELD (ADC_AWD2CR_AWD2CH_10)
249#define ADC_CHANNEL_11_BITFIELD (ADC_AWD2CR_AWD2CH_11)
250#define ADC_CHANNEL_12_BITFIELD (ADC_AWD2CR_AWD2CH_12)
251#define ADC_CHANNEL_13_BITFIELD (ADC_AWD2CR_AWD2CH_13)
252#define ADC_CHANNEL_14_BITFIELD (ADC_AWD2CR_AWD2CH_14)
253#define ADC_CHANNEL_15_BITFIELD (ADC_AWD2CR_AWD2CH_15)
254#define ADC_CHANNEL_16_BITFIELD (ADC_AWD2CR_AWD2CH_16)
255#define ADC_CHANNEL_17_BITFIELD (ADC_AWD2CR_AWD2CH_17)
256#define ADC_CHANNEL_18_BITFIELD (ADC_AWD2CR_AWD2CH_18)
257#define ADC_CHANNEL_19_BITFIELD (ADC_AWD2CR_AWD2CH_19)
261#define ADC_CHANNEL_0_SMP (ADC_SMPR1_REGOFFSET | (( 0UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
262#define ADC_CHANNEL_1_SMP (ADC_SMPR1_REGOFFSET | (( 3UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
263#define ADC_CHANNEL_2_SMP (ADC_SMPR1_REGOFFSET | (( 6UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
264#define ADC_CHANNEL_3_SMP (ADC_SMPR1_REGOFFSET | (( 9UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
265#define ADC_CHANNEL_4_SMP (ADC_SMPR1_REGOFFSET | ((12UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
266#define ADC_CHANNEL_5_SMP (ADC_SMPR1_REGOFFSET | ((15UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
267#define ADC_CHANNEL_6_SMP (ADC_SMPR1_REGOFFSET | ((18UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
268#define ADC_CHANNEL_7_SMP (ADC_SMPR1_REGOFFSET | ((21UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
269#define ADC_CHANNEL_8_SMP (ADC_SMPR1_REGOFFSET | ((24UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
270#define ADC_CHANNEL_9_SMP (ADC_SMPR1_REGOFFSET | ((27UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
271#define ADC_CHANNEL_10_SMP (ADC_SMPR2_REGOFFSET | (( 0UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
272#define ADC_CHANNEL_11_SMP (ADC_SMPR2_REGOFFSET | (( 3UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
273#define ADC_CHANNEL_12_SMP (ADC_SMPR2_REGOFFSET | (( 6UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
274#define ADC_CHANNEL_13_SMP (ADC_SMPR2_REGOFFSET | (( 9UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
275#define ADC_CHANNEL_14_SMP (ADC_SMPR2_REGOFFSET | ((12UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
276#define ADC_CHANNEL_15_SMP (ADC_SMPR2_REGOFFSET | ((15UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
277#define ADC_CHANNEL_16_SMP (ADC_SMPR2_REGOFFSET | ((18UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
278#define ADC_CHANNEL_17_SMP (ADC_SMPR2_REGOFFSET | ((21UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
279#define ADC_CHANNEL_18_SMP (ADC_SMPR2_REGOFFSET | ((24UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
280#define ADC_CHANNEL_19_SMP (ADC_SMPR2_REGOFFSET | ((27UL) << ADC_CHANNEL_SMPx_BITOFFSET_POS))
289#define ADC_SINGLEDIFF_CALIB_START_MASK (ADC_CR_ADCALDIF)
290#define ADC_SINGLEDIFF_CALIB_FACTOR_MASK (ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S)
291#define ADC_SINGLEDIFF_CHANNEL_MASK (ADC_CHANNEL_ID_BITFIELD_MASK)
292#define ADC_SINGLEDIFF_CHANNEL_SHIFT_MASK (ADC_CALFACT_CALFACT_S_4 | ADC_CALFACT_CALFACT_S_3)
293#define ADC_SINGLEDIFF_CALIB_F_BIT_D_MASK (0x00010000UL)
294#define ADC_SINGLEDIFF_CALIB_F_BIT_D_POS (16UL)
295#define ADC_SINGLEDIFF_CALIB_F_BIT_D_SHIFT4 (ADC_SINGLEDIFF_CALIB_F_BIT_D_POS - 4UL)
307#define ADC_AWD_CR1_REGOFFSET (0x00000000UL)
308#define ADC_AWD_CR2_REGOFFSET (0x00100000UL)
309#define ADC_AWD_CR3_REGOFFSET (0x00200000UL)
313#define ADC_AWD_CR12_REGOFFSETGAP_MASK (ADC_AWD2CR_AWD2CH_0)
314#define ADC_AWD_CR12_REGOFFSETGAP_VAL (0x00000024UL)
316#define ADC_AWD_CRX_REGOFFSET_MASK (ADC_AWD_CR1_REGOFFSET | ADC_AWD_CR2_REGOFFSET | ADC_AWD_CR3_REGOFFSET)
318#define ADC_AWD_CR1_CHANNEL_MASK (ADC_CFGR_AWD1CH | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
319#define ADC_AWD_CR23_CHANNEL_MASK (ADC_AWD2CR_AWD2CH)
320#define ADC_AWD_CR_ALL_CHANNEL_MASK (ADC_AWD_CR1_CHANNEL_MASK | ADC_AWD_CR23_CHANNEL_MASK)
322#define ADC_AWD_CRX_REGOFFSET_POS (20UL)
325#define ADC_AWD_TR1_REGOFFSET (ADC_AWD_CR1_REGOFFSET)
326#define ADC_AWD_TR2_REGOFFSET (ADC_AWD_CR2_REGOFFSET)
327#define ADC_AWD_TR3_REGOFFSET (ADC_AWD_CR3_REGOFFSET)
328#define ADC_AWD_TRX_REGOFFSET_MASK (ADC_AWD_TR1_REGOFFSET | ADC_AWD_TR2_REGOFFSET | ADC_AWD_TR3_REGOFFSET)
329#define ADC_AWD_TRX_REGOFFSET_POS (ADC_AWD_CRX_REGOFFSET_POS)
330#if defined(ADC_VER_V5_V90)
331#define ADC_AWD_TRX_BIT_HIGH_MASK (0x00010000UL)
332#define ADC_AWD_TRX_BIT_HIGH_POS (16UL)
333#define ADC_AWD_TRX_BIT_HIGH_SHIFT4 (ADC_AWD_TRX_BIT_HIGH_POS - 4UL)
338#define ADC_AWD_TR12_REGOFFSETGAP_MASK (ADC_AWD2CR_AWD2CH_0)
339#define ADC_AWD_TR12_REGOFFSETGAP_VAL (0x00000022UL)
342#define LL_ADC_AWD1_TR LL_ADC_AWD1
343#define LL_ADC_AWD2_TR LL_ADC_AWD2
344#define LL_ADC_AWD3_TR LL_ADC_AWD3
348#define ADC_OFR1_REGOFFSET (0x00000000UL)
349#define ADC_OFR2_REGOFFSET (0x00000001UL)
350#define ADC_OFR3_REGOFFSET (0x00000002UL)
351#define ADC_OFR4_REGOFFSET (0x00000003UL)
352#define ADC_OFRx_REGOFFSET_MASK (ADC_OFR1_REGOFFSET | ADC_OFR2_REGOFFSET | ADC_OFR3_REGOFFSET | ADC_OFR4_REGOFFSET)
356#define ADC_CFGR_RES_BITOFFSET_POS (ADC_CFGR_RES_Pos)
357#define ADC_CFGR_AWD1SGL_BITOFFSET_POS (ADC_CFGR_AWD1SGL_Pos)
358#define ADC_CFGR_AWD1EN_BITOFFSET_POS (ADC_CFGR_AWD1EN_Pos)
359#define ADC_CFGR_JAWD1EN_BITOFFSET_POS (ADC_CFGR_JAWD1EN_Pos)
360#if defined(ADC_VER_V5_V90)
361#define ADC_CFGR_RES_BITOFFSET_POS_ADC3 (ADC3_CFGR_RES_Pos)
366#define ADC_CR_BITS_PROPERTY_RS (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADDIS | ADC_CR_ADEN)
371#if defined(ADC_VER_V5_3)
372#define VREFINT_CAL_ADDR ((uint16_t*) (0x8fff810UL))
375#define VREFINT_CAL_ADDR ((uint16_t*) (0x1FF1E860UL))
377#define VREFINT_CAL_VREF (3300UL)
379#if defined(ADC_VER_V5_3)
380#define TEMPSENSOR_CAL1_ADDR ((uint16_t*) (0x8fff814UL))
381#define TEMPSENSOR_CAL2_ADDR ((uint16_t*) (0x8fff818UL))
384#define TEMPSENSOR_CAL1_ADDR ((uint16_t*) (0x1FF1E820UL))
385#define TEMPSENSOR_CAL2_ADDR ((uint16_t*) (0x1FF1E840UL))
388#define TEMPSENSOR_CAL1_TEMP (30L)
389#if defined (STM32H742xx) || defined (STM32H743xx) || defined (STM32H753xx) || defined (STM32H750xx)
390#define TEMPSENSOR_CAL2_TEMP ((((DBGMCU->IDCODE) >> 16) <= ((uint32_t)0x1003)) ? 110L : 130L)
394#define TEMPSENSOR_CAL2_TEMP (130L)
397#define TEMPSENSOR_CAL_VREFANALOG (3300UL)
400#define ADC_LINEAR_CALIB_REG_1_ADDR ((uint32_t*) (0x1FF1EC00UL))
401#define ADC_LINEAR_CALIB_REG_2_ADDR ((uint32_t*) (0x1FF1EC04UL))
402#define ADC_LINEAR_CALIB_REG_3_ADDR ((uint32_t*) (0x1FF1EC08UL))
403#define ADC_LINEAR_CALIB_REG_4_ADDR ((uint32_t*) (0x1FF1EC0CUL))
404#define ADC_LINEAR_CALIB_REG_5_ADDR ((uint32_t*) (0x1FF1EC10UL))
405#define ADC_LINEAR_CALIB_REG_6_ADDR ((uint32_t*) (0x1FF1EC14UL))
406#define ADC_LINEAR_CALIB_REG_COUNT (6UL)
414#define LL_ADC_SetChannelPreSelection LL_ADC_SetChannelPreselection
433#define __ADC_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \
434 ((__IO uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2UL))))
442#if defined(USE_FULL_LL_DRIVER)
459 uint32_t CommonClock;
472 uint32_t MultiDMATransfer;
477 uint32_t MultiTwoSamplingDelay;
482} LL_ADC_CommonInitTypeDef;
511 uint32_t LeftBitShift;
514 uint32_t LowPowerMode;
542 uint32_t TriggerSource;
550 uint32_t SequencerLength;
555 uint32_t SequencerDiscont;
562 uint32_t ContinuousMode;
568 uint32_t DataTransferMode;
579} LL_ADC_REG_InitTypeDef;
602 uint32_t TriggerSource;
610 uint32_t SequencerLength;
615 uint32_t SequencerDiscont;
628} LL_ADC_INJ_InitTypeDef;
644#define LL_ADC_FLAG_ADRDY ADC_ISR_ADRDY
645#define LL_ADC_FLAG_EOC ADC_ISR_EOC
646#define LL_ADC_FLAG_EOS ADC_ISR_EOS
647#define LL_ADC_FLAG_OVR ADC_ISR_OVR
648#define LL_ADC_FLAG_EOSMP ADC_ISR_EOSMP
649#define LL_ADC_FLAG_JEOC ADC_ISR_JEOC
650#define LL_ADC_FLAG_JEOS ADC_ISR_JEOS
651#define LL_ADC_FLAG_JQOVF ADC_ISR_JQOVF
652#define LL_ADC_FLAG_AWD1 ADC_ISR_AWD1
653#define LL_ADC_FLAG_AWD2 ADC_ISR_AWD2
654#define LL_ADC_FLAG_AWD3 ADC_ISR_AWD3
655#define LL_ADC_FLAG_LDORDY ADC_ISR_LDORDY
656#define LL_ADC_FLAG_ADRDY_MST ADC_CSR_ADRDY_MST
657#define LL_ADC_FLAG_ADRDY_SLV ADC_CSR_ADRDY_SLV
658#define LL_ADC_FLAG_EOC_MST ADC_CSR_EOC_MST
659#define LL_ADC_FLAG_EOC_SLV ADC_CSR_EOC_SLV
660#define LL_ADC_FLAG_EOS_MST ADC_CSR_EOS_MST
661#define LL_ADC_FLAG_EOS_SLV ADC_CSR_EOS_SLV
662#define LL_ADC_FLAG_OVR_MST ADC_CSR_OVR_MST
663#define LL_ADC_FLAG_OVR_SLV ADC_CSR_OVR_SLV
664#define LL_ADC_FLAG_EOSMP_MST ADC_CSR_EOSMP_MST
665#define LL_ADC_FLAG_EOSMP_SLV ADC_CSR_EOSMP_SLV
666#define LL_ADC_FLAG_JEOC_MST ADC_CSR_JEOC_MST
667#define LL_ADC_FLAG_JEOC_SLV ADC_CSR_JEOC_SLV
668#define LL_ADC_FLAG_JEOS_MST ADC_CSR_JEOS_MST
669#define LL_ADC_FLAG_JEOS_SLV ADC_CSR_JEOS_SLV
670#define LL_ADC_FLAG_JQOVF_MST ADC_CSR_JQOVF_MST
671#define LL_ADC_FLAG_JQOVF_SLV ADC_CSR_JQOVF_SLV
672#define LL_ADC_FLAG_AWD1_MST ADC_CSR_AWD1_MST
673#define LL_ADC_FLAG_AWD1_SLV ADC_CSR_AWD1_SLV
674#define LL_ADC_FLAG_AWD2_MST ADC_CSR_AWD2_MST
675#define LL_ADC_FLAG_AWD2_SLV ADC_CSR_AWD2_SLV
676#define LL_ADC_FLAG_AWD3_MST ADC_CSR_AWD3_MST
677#define LL_ADC_FLAG_AWD3_SLV ADC_CSR_AWD3_SLV
686#define LL_ADC_IT_ADRDY ADC_IER_ADRDYIE
687#define LL_ADC_IT_EOC ADC_IER_EOCIE
688#define LL_ADC_IT_EOS ADC_IER_EOSIE
689#define LL_ADC_IT_OVR ADC_IER_OVRIE
690#define LL_ADC_IT_EOSMP ADC_IER_EOSMPIE
691#define LL_ADC_IT_JEOC ADC_IER_JEOCIE
692#define LL_ADC_IT_JEOS ADC_IER_JEOSIE
693#define LL_ADC_IT_JQOVF ADC_IER_JQOVFIE
694#define LL_ADC_IT_AWD1 ADC_IER_AWD1IE
695#define LL_ADC_IT_AWD2 ADC_IER_AWD2IE
696#define LL_ADC_IT_AWD3 ADC_IER_AWD3IE
707#define LL_ADC_DMA_REG_REGULAR_DATA (0x00000000UL)
708#define LL_ADC_DMA_REG_REGULAR_DATA_MULTI (0x00000001UL)
716#define LL_ADC_CLOCK_SYNC_PCLK_DIV1 (ADC_CCR_CKMODE_0)
717#define LL_ADC_CLOCK_SYNC_PCLK_DIV2 (ADC_CCR_CKMODE_1 )
718#define LL_ADC_CLOCK_SYNC_PCLK_DIV4 (ADC_CCR_CKMODE_1 | ADC_CCR_CKMODE_0)
719#define LL_ADC_CLOCK_ASYNC_DIV1 (0x00000000UL)
720#define LL_ADC_CLOCK_ASYNC_DIV2 (ADC_CCR_PRESC_0)
721#define LL_ADC_CLOCK_ASYNC_DIV4 (ADC_CCR_PRESC_1 )
722#define LL_ADC_CLOCK_ASYNC_DIV6 (ADC_CCR_PRESC_1 | ADC_CCR_PRESC_0)
723#define LL_ADC_CLOCK_ASYNC_DIV8 (ADC_CCR_PRESC_2 )
724#define LL_ADC_CLOCK_ASYNC_DIV10 (ADC_CCR_PRESC_2 | ADC_CCR_PRESC_0)
725#define LL_ADC_CLOCK_ASYNC_DIV12 (ADC_CCR_PRESC_2 | ADC_CCR_PRESC_1 )
726#define LL_ADC_CLOCK_ASYNC_DIV16 (ADC_CCR_PRESC_2 | ADC_CCR_PRESC_1 | ADC_CCR_PRESC_0)
727#define LL_ADC_CLOCK_ASYNC_DIV32 (ADC_CCR_PRESC_3)
728#define LL_ADC_CLOCK_ASYNC_DIV64 (ADC_CCR_PRESC_3 | ADC_CCR_PRESC_0)
729#define LL_ADC_CLOCK_ASYNC_DIV128 (ADC_CCR_PRESC_3 | ADC_CCR_PRESC_1)
730#define LL_ADC_CLOCK_ASYNC_DIV256 (ADC_CCR_PRESC_3 | ADC_CCR_PRESC_1 | ADC_CCR_PRESC_0)
743#define LL_ADC_PATH_INTERNAL_NONE (0x00000000UL)
744#define LL_ADC_PATH_INTERNAL_VREFINT (ADC_CCR_VREFEN)
745#define LL_ADC_PATH_INTERNAL_TEMPSENSOR (ADC_CCR_TSEN)
746#define LL_ADC_PATH_INTERNAL_VBAT (ADC_CCR_VBATEN)
754#define LL_ADC_BOOST_MODE_6MHZ25 (0x00000000UL)
755#define LL_ADC_BOOST_MODE_12MHZ5 ( ADC_CR_BOOST_0)
756#define LL_ADC_BOOST_MODE_20MHZ ( ADC_CR_BOOST_1 )
757#define LL_ADC_BOOST_MODE_25MHZ ((ADC_CR_BOOST_0 <<2) | ADC_CR_BOOST_1 )
758#define LL_ADC_BOOST_MODE_50MHZ ((ADC_CR_BOOST_0 <<2) | ADC_CR_BOOST_1 | ADC_CR_BOOST_0)
766#define LL_ADC_CALIB_OFFSET (ADC_CALIB_FACTOR_OFFSET_REGOFFSET)
767#define LL_ADC_CALIB_LINEARITY (ADC_CALIB_FACTOR_LINEARITY_REGOFFSET)
768#define LL_ADC_CALIB_OFFSET_LINEARITY (ADC_CALIB_FACTOR_LINEARITY_REGOFFSET | ADC_CR_ADCALLIN)
776#define LL_ADC_CALIB_LINEARITY_WORD1 (ADC_CR_LINCALRDYW1)
777#define LL_ADC_CALIB_LINEARITY_WORD2 (ADC_CR_LINCALRDYW2)
778#define LL_ADC_CALIB_LINEARITY_WORD3 (ADC_CR_LINCALRDYW3)
779#define LL_ADC_CALIB_LINEARITY_WORD4 (ADC_CR_LINCALRDYW4)
780#define LL_ADC_CALIB_LINEARITY_WORD5 (ADC_CR_LINCALRDYW5)
781#define LL_ADC_CALIB_LINEARITY_WORD6 (ADC_CR_LINCALRDYW6)
789#define LL_ADC_RESOLUTION_16B (0x00000000UL)
790#define LL_ADC_RESOLUTION_14B ( ADC_CFGR_RES_0)
791#define LL_ADC_RESOLUTION_12B ( ADC_CFGR_RES_1 )
792#define LL_ADC_RESOLUTION_10B ( ADC_CFGR_RES_1 | ADC_CFGR_RES_0)
794#if defined (ADC_VER_V5_X)
795#define LL_ADC_RESOLUTION_14B_OPT (ADC_CFGR_RES_2 | ADC_CFGR_RES_0)
796#define LL_ADC_RESOLUTION_12B_OPT (ADC_CFGR_RES_2 | ADC_CFGR_RES_1 )
799#if defined (ADC_VER_V5_3) || defined(ADC_VER_V5_V90)
800#define LL_ADC_RESOLUTION_8B (ADC_CFGR_RES_2|ADC_CFGR_RES_1 | ADC_CFGR_RES_0)
802#define LL_ADC_RESOLUTION_8B (ADC_CFGR_RES_2 )
807#if defined(ADC_VER_V5_V90)
808#define LL_ADC_RESOLUTION_6B (ADC3_CFGR_RES_1 | ADC3_CFGR_RES_0)
814#if defined(ADC_VER_V5_V90)
818#define LL_ADC_DATA_ALIGN_RIGHT (0x00000000UL)
819#define LL_ADC_DATA_ALIGN_LEFT (ADC3_CFGR_ALIGN)
829#define LL_ADC_LEFT_BIT_SHIFT_NONE (0x00000000UL)
830#define LL_ADC_LEFT_BIT_SHIFT_1 (ADC_CFGR2_LSHIFT_0)
831#define LL_ADC_LEFT_BIT_SHIFT_2 (ADC_CFGR2_LSHIFT_1)
832#define LL_ADC_LEFT_BIT_SHIFT_3 (ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)
833#define LL_ADC_LEFT_BIT_SHIFT_4 (ADC_CFGR2_LSHIFT_2)
834#define LL_ADC_LEFT_BIT_SHIFT_5 (ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_0)
835#define LL_ADC_LEFT_BIT_SHIFT_6 (ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1)
836#define LL_ADC_LEFT_BIT_SHIFT_7 (ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)
837#define LL_ADC_LEFT_BIT_SHIFT_8 (ADC_CFGR2_LSHIFT_3)
838#define LL_ADC_LEFT_BIT_SHIFT_9 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_0)
839#define LL_ADC_LEFT_BIT_SHIFT_10 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_1)
840#define LL_ADC_LEFT_BIT_SHIFT_11 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)
841#define LL_ADC_LEFT_BIT_SHIFT_12 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2)
842#define LL_ADC_LEFT_BIT_SHIFT_13 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_0)
843#define LL_ADC_LEFT_BIT_SHIFT_14 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1)
844#define LL_ADC_LEFT_BIT_SHIFT_15 (ADC_CFGR2_LSHIFT_3 | ADC_CFGR2_LSHIFT_2 | ADC_CFGR2_LSHIFT_1 | ADC_CFGR2_LSHIFT_0)
852#define LL_ADC_LP_MODE_NONE (0x00000000UL)
853#define LL_ADC_LP_AUTOWAIT (ADC_CFGR_AUTDLY)
861#define LL_ADC_OFFSET_1 ADC_OFR1_REGOFFSET
862#define LL_ADC_OFFSET_2 ADC_OFR2_REGOFFSET
863#define LL_ADC_OFFSET_3 ADC_OFR3_REGOFFSET
864#define LL_ADC_OFFSET_4 ADC_OFR4_REGOFFSET
872#define LL_ADC_OFFSET_SIGNED_SATURATION_DISABLE (0x00000000UL)
873#define LL_ADC_OFFSET_SIGNED_SATURATION_ENABLE (ADC_OFR1_SSATE)
881#define LL_ADC_OFFSET_RSHIFT_DISABLE (0x00000000UL)
882#define LL_ADC_OFFSET_RSHIFT_ENABLE (ADC_CFGR2_RSHIFT1)
886#if defined(ADC_VER_V5_V90)
890#define LL_ADC_OFFSET_SATURATION_DISABLE (0x00000000UL)
891#define LL_ADC_OFFSET_SATURATION_ENABLE (ADC3_OFR1_SATEN)
899#define LL_ADC_OFFSET_DISABLE (0x00000000UL)
900#define LL_ADC_OFFSET_ENABLE (ADC3_OFR1_OFFSET1_EN)
904#if defined(ADC_VER_V5_V90)
908#define LL_ADC_OFFSET_SIGN_NEGATIVE (0x00000000UL)
909#define LL_ADC_OFFSET_SIGN_POSITIVE (ADC3_OFR1_OFFSETPOS)
920#define LL_ADC_GROUP_REGULAR (0x00000001UL)
921#define LL_ADC_GROUP_INJECTED (0x00000002UL)
922#define LL_ADC_GROUP_REGULAR_INJECTED (0x00000003UL)
930#define LL_ADC_CHANNEL_0 (ADC_CHANNEL_0_NUMBER | ADC_CHANNEL_0_SMP | ADC_CHANNEL_0_BITFIELD )
931#define LL_ADC_CHANNEL_1 (ADC_CHANNEL_1_NUMBER | ADC_CHANNEL_1_SMP | ADC_CHANNEL_1_BITFIELD )
932#define LL_ADC_CHANNEL_2 (ADC_CHANNEL_2_NUMBER | ADC_CHANNEL_2_SMP | ADC_CHANNEL_2_BITFIELD )
933#define LL_ADC_CHANNEL_3 (ADC_CHANNEL_3_NUMBER | ADC_CHANNEL_3_SMP | ADC_CHANNEL_3_BITFIELD )
934#define LL_ADC_CHANNEL_4 (ADC_CHANNEL_4_NUMBER | ADC_CHANNEL_4_SMP | ADC_CHANNEL_4_BITFIELD )
935#define LL_ADC_CHANNEL_5 (ADC_CHANNEL_5_NUMBER | ADC_CHANNEL_5_SMP | ADC_CHANNEL_5_BITFIELD )
936#define LL_ADC_CHANNEL_6 (ADC_CHANNEL_6_NUMBER | ADC_CHANNEL_6_SMP | ADC_CHANNEL_6_BITFIELD )
937#define LL_ADC_CHANNEL_7 (ADC_CHANNEL_7_NUMBER | ADC_CHANNEL_7_SMP | ADC_CHANNEL_7_BITFIELD )
938#define LL_ADC_CHANNEL_8 (ADC_CHANNEL_8_NUMBER | ADC_CHANNEL_8_SMP | ADC_CHANNEL_8_BITFIELD )
939#define LL_ADC_CHANNEL_9 (ADC_CHANNEL_9_NUMBER | ADC_CHANNEL_9_SMP | ADC_CHANNEL_9_BITFIELD )
940#define LL_ADC_CHANNEL_10 (ADC_CHANNEL_10_NUMBER | ADC_CHANNEL_10_SMP | ADC_CHANNEL_10_BITFIELD)
941#define LL_ADC_CHANNEL_11 (ADC_CHANNEL_11_NUMBER | ADC_CHANNEL_11_SMP | ADC_CHANNEL_11_BITFIELD)
942#define LL_ADC_CHANNEL_12 (ADC_CHANNEL_12_NUMBER | ADC_CHANNEL_12_SMP | ADC_CHANNEL_12_BITFIELD)
943#define LL_ADC_CHANNEL_13 (ADC_CHANNEL_13_NUMBER | ADC_CHANNEL_13_SMP | ADC_CHANNEL_13_BITFIELD)
944#define LL_ADC_CHANNEL_14 (ADC_CHANNEL_14_NUMBER | ADC_CHANNEL_14_SMP | ADC_CHANNEL_14_BITFIELD)
945#define LL_ADC_CHANNEL_15 (ADC_CHANNEL_15_NUMBER | ADC_CHANNEL_15_SMP | ADC_CHANNEL_15_BITFIELD)
946#define LL_ADC_CHANNEL_16 (ADC_CHANNEL_16_NUMBER | ADC_CHANNEL_16_SMP | ADC_CHANNEL_16_BITFIELD)
947#define LL_ADC_CHANNEL_17 (ADC_CHANNEL_17_NUMBER | ADC_CHANNEL_17_SMP | ADC_CHANNEL_17_BITFIELD)
948#define LL_ADC_CHANNEL_18 (ADC_CHANNEL_18_NUMBER | ADC_CHANNEL_18_SMP | ADC_CHANNEL_18_BITFIELD)
949#define LL_ADC_CHANNEL_19 (ADC_CHANNEL_19_NUMBER | ADC_CHANNEL_19_SMP | ADC_CHANNEL_19_BITFIELD)
951#if defined(ADC_VER_V5_V90)
952#define LL_ADC_CHANNEL_VREFINT (LL_ADC_CHANNEL_18 | ADC_CHANNEL_ID_INTERNAL_CH)
953#define LL_ADC_CHANNEL_TEMPSENSOR (LL_ADC_CHANNEL_17 | ADC_CHANNEL_ID_INTERNAL_CH)
954#define LL_ADC_CHANNEL_VBAT (LL_ADC_CHANNEL_16 | ADC_CHANNEL_ID_INTERNAL_CH)
956#define LL_ADC_CHANNEL_VREFINT (LL_ADC_CHANNEL_19 | ADC_CHANNEL_ID_INTERNAL_CH)
957#define LL_ADC_CHANNEL_TEMPSENSOR (LL_ADC_CHANNEL_18 | ADC_CHANNEL_ID_INTERNAL_CH)
958#define LL_ADC_CHANNEL_VBAT (LL_ADC_CHANNEL_17 | ADC_CHANNEL_ID_INTERNAL_CH)
962#define LL_ADC_CHANNEL_VREFINT (LL_ADC_CHANNEL_19 | ADC_CHANNEL_ID_INTERNAL_CH)
963#define LL_ADC_CHANNEL_TEMPSENSOR (LL_ADC_CHANNEL_18 | ADC_CHANNEL_ID_INTERNAL_CH)
964#define LL_ADC_CHANNEL_VBAT (LL_ADC_CHANNEL_14 | ADC_CHANNEL_ID_INTERNAL_CH)
966#define LL_ADC_CHANNEL_DAC1CH1_ADC2 (LL_ADC_CHANNEL_16 | ADC_CHANNEL_ID_INTERNAL_CH)
967#define LL_ADC_CHANNEL_DAC1CH2_ADC2 (LL_ADC_CHANNEL_17 | ADC_CHANNEL_ID_INTERNAL_CH)
970#define LL_ADC_CHANNEL_DAC2CH1_ADC2 (LL_ADC_CHANNEL_15 | ADC_CHANNEL_ID_INTERNAL_CH)
979#define LL_ADC_REG_TRIG_SOFTWARE (0x00000000UL)
980#define LL_ADC_REG_TRIG_EXT_TIM1_CH1 (ADC_REG_TRIG_EXT_EDGE_DEFAULT)
981#define LL_ADC_REG_TRIG_EXT_TIM1_CH2 (ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
982#define LL_ADC_REG_TRIG_EXT_TIM1_CH3 (ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
983#define LL_ADC_REG_TRIG_EXT_TIM2_CH2 (ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
984#define LL_ADC_REG_TRIG_EXT_TIM3_TRGO (ADC_CFGR_EXTSEL_2 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
985#define LL_ADC_REG_TRIG_EXT_TIM4_CH4 (ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
986#define LL_ADC_REG_TRIG_EXT_EXTI_LINE11 (ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
987#define LL_ADC_REG_TRIG_EXT_TIM8_TRGO (ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
988#define LL_ADC_REG_TRIG_EXT_TIM8_TRGO2 (ADC_CFGR_EXTSEL_3 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
989#define LL_ADC_REG_TRIG_EXT_TIM1_TRGO (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
990#define LL_ADC_REG_TRIG_EXT_TIM1_TRGO2 (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
991#define LL_ADC_REG_TRIG_EXT_TIM2_TRGO (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
992#define LL_ADC_REG_TRIG_EXT_TIM4_TRGO (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
993#define LL_ADC_REG_TRIG_EXT_TIM6_TRGO (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
994#define LL_ADC_REG_TRIG_EXT_TIM15_TRGO (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
995#define LL_ADC_REG_TRIG_EXT_TIM3_CH4 (ADC_CFGR_EXTSEL_3 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
996#define LL_ADC_REG_TRIG_EXT_HRTIM_TRG1 (ADC_CFGR_EXTSEL_4 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
997#define LL_ADC_REG_TRIG_EXT_HRTIM_TRG3 (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
998#define LL_ADC_REG_TRIG_EXT_LPTIM1_OUT (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
999#define LL_ADC_REG_TRIG_EXT_LPTIM2_OUT (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
1000#define LL_ADC_REG_TRIG_EXT_LPTIM3_OUT (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_2 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
1002#define LL_ADC_REG_TRIG_EXT_TIM23_TRGO (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
1005#define LL_ADC_REG_TRIG_EXT_TIM24_TRGO (ADC_CFGR_EXTSEL_4 | ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC_REG_TRIG_EXT_EDGE_DEFAULT)
1014#define LL_ADC_REG_TRIG_EXT_RISING ( ADC_CFGR_EXTEN_0)
1015#define LL_ADC_REG_TRIG_EXT_FALLING (ADC_CFGR_EXTEN_1 )
1016#define LL_ADC_REG_TRIG_EXT_RISINGFALLING (ADC_CFGR_EXTEN_1 | ADC_CFGR_EXTEN_0)
1020#if defined(ADC_VER_V5_V90)
1024#define LL_ADC_REG_SAMPLING_MODE_NORMAL (0x00000000UL)
1025#define LL_ADC_REG_SAMPLING_MODE_BULB (ADC3_CFGR2_BULB)
1027#define LL_ADC_REG_SAMPLING_MODE_TRIGGER_CONTROLED (ADC3_CFGR2_SMPTRIG)
1038#define LL_ADC_REG_CONV_SINGLE (0x00000000UL)
1039#define LL_ADC_REG_CONV_CONTINUOUS (ADC_CFGR_CONT)
1047#define LL_ADC_REG_DR_TRANSFER (0x00000000UL)
1048#define LL_ADC_REG_DMA_TRANSFER_LIMITED ( ADC_CFGR_DMNGT_0)
1049#define LL_ADC_REG_DMA_TRANSFER_UNLIMITED (ADC_CFGR_DMNGT_1 | ADC_CFGR_DMNGT_0)
1050#define LL_ADC_REG_DFSDM_TRANSFER (ADC_CFGR_DMNGT_1 )
1055#if defined(ADC_VER_V5_V90)
1060#define LL_ADC3_REG_DMA_TRANSFER_NONE (0x00000000UL)
1061#define LL_ADC3_REG_DMA_TRANSFER_LIMITED ( ADC3_CFGR_DMAEN)
1062#define LL_ADC3_REG_DMA_TRANSFER_UNLIMITED (ADC3_CFGR_DMACFG | ADC3_CFGR_DMAEN)
1071#define LL_ADC_REG_OVR_DATA_PRESERVED (0x00000000UL)
1072#define LL_ADC_REG_OVR_DATA_OVERWRITTEN (ADC_CFGR_OVRMOD)
1080#define LL_ADC_REG_SEQ_SCAN_DISABLE (0x00000000UL)
1081#define LL_ADC_REG_SEQ_SCAN_ENABLE_2RANKS ( ADC_SQR1_L_0)
1082#define LL_ADC_REG_SEQ_SCAN_ENABLE_3RANKS ( ADC_SQR1_L_1 )
1083#define LL_ADC_REG_SEQ_SCAN_ENABLE_4RANKS ( ADC_SQR1_L_1 | ADC_SQR1_L_0)
1084#define LL_ADC_REG_SEQ_SCAN_ENABLE_5RANKS ( ADC_SQR1_L_2 )
1085#define LL_ADC_REG_SEQ_SCAN_ENABLE_6RANKS ( ADC_SQR1_L_2 | ADC_SQR1_L_0)
1086#define LL_ADC_REG_SEQ_SCAN_ENABLE_7RANKS ( ADC_SQR1_L_2 | ADC_SQR1_L_1 )
1087#define LL_ADC_REG_SEQ_SCAN_ENABLE_8RANKS ( ADC_SQR1_L_2 | ADC_SQR1_L_1 | ADC_SQR1_L_0)
1088#define LL_ADC_REG_SEQ_SCAN_ENABLE_9RANKS (ADC_SQR1_L_3 )
1089#define LL_ADC_REG_SEQ_SCAN_ENABLE_10RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_0)
1090#define LL_ADC_REG_SEQ_SCAN_ENABLE_11RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_1 )
1091#define LL_ADC_REG_SEQ_SCAN_ENABLE_12RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_1 | ADC_SQR1_L_0)
1092#define LL_ADC_REG_SEQ_SCAN_ENABLE_13RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_2 )
1093#define LL_ADC_REG_SEQ_SCAN_ENABLE_14RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_2 | ADC_SQR1_L_0)
1094#define LL_ADC_REG_SEQ_SCAN_ENABLE_15RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_2 | ADC_SQR1_L_1 )
1095#define LL_ADC_REG_SEQ_SCAN_ENABLE_16RANKS (ADC_SQR1_L_3 | ADC_SQR1_L_2 | ADC_SQR1_L_1 | ADC_SQR1_L_0)
1103#define LL_ADC_REG_SEQ_DISCONT_DISABLE (0x00000000UL)
1104#define LL_ADC_REG_SEQ_DISCONT_1RANK ( ADC_CFGR_DISCEN)
1105#define LL_ADC_REG_SEQ_DISCONT_2RANKS ( ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
1106#define LL_ADC_REG_SEQ_DISCONT_3RANKS ( ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCEN)
1107#define LL_ADC_REG_SEQ_DISCONT_4RANKS ( ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
1108#define LL_ADC_REG_SEQ_DISCONT_5RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCEN)
1109#define LL_ADC_REG_SEQ_DISCONT_6RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
1110#define LL_ADC_REG_SEQ_DISCONT_7RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCEN)
1111#define LL_ADC_REG_SEQ_DISCONT_8RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
1119#define LL_ADC_REG_RANK_1 (ADC_SQR1_REGOFFSET | ADC_REG_RANK_1_SQRX_BITOFFSET_POS)
1120#define LL_ADC_REG_RANK_2 (ADC_SQR1_REGOFFSET | ADC_REG_RANK_2_SQRX_BITOFFSET_POS)
1121#define LL_ADC_REG_RANK_3 (ADC_SQR1_REGOFFSET | ADC_REG_RANK_3_SQRX_BITOFFSET_POS)
1122#define LL_ADC_REG_RANK_4 (ADC_SQR1_REGOFFSET | ADC_REG_RANK_4_SQRX_BITOFFSET_POS)
1123#define LL_ADC_REG_RANK_5 (ADC_SQR2_REGOFFSET | ADC_REG_RANK_5_SQRX_BITOFFSET_POS)
1124#define LL_ADC_REG_RANK_6 (ADC_SQR2_REGOFFSET | ADC_REG_RANK_6_SQRX_BITOFFSET_POS)
1125#define LL_ADC_REG_RANK_7 (ADC_SQR2_REGOFFSET | ADC_REG_RANK_7_SQRX_BITOFFSET_POS)
1126#define LL_ADC_REG_RANK_8 (ADC_SQR2_REGOFFSET | ADC_REG_RANK_8_SQRX_BITOFFSET_POS)
1127#define LL_ADC_REG_RANK_9 (ADC_SQR2_REGOFFSET | ADC_REG_RANK_9_SQRX_BITOFFSET_POS)
1128#define LL_ADC_REG_RANK_10 (ADC_SQR3_REGOFFSET | ADC_REG_RANK_10_SQRX_BITOFFSET_POS)
1129#define LL_ADC_REG_RANK_11 (ADC_SQR3_REGOFFSET | ADC_REG_RANK_11_SQRX_BITOFFSET_POS)
1130#define LL_ADC_REG_RANK_12 (ADC_SQR3_REGOFFSET | ADC_REG_RANK_12_SQRX_BITOFFSET_POS)
1131#define LL_ADC_REG_RANK_13 (ADC_SQR3_REGOFFSET | ADC_REG_RANK_13_SQRX_BITOFFSET_POS)
1132#define LL_ADC_REG_RANK_14 (ADC_SQR3_REGOFFSET | ADC_REG_RANK_14_SQRX_BITOFFSET_POS)
1133#define LL_ADC_REG_RANK_15 (ADC_SQR4_REGOFFSET | ADC_REG_RANK_15_SQRX_BITOFFSET_POS)
1134#define LL_ADC_REG_RANK_16 (ADC_SQR4_REGOFFSET | ADC_REG_RANK_16_SQRX_BITOFFSET_POS)
1142#define LL_ADC_INJ_TRIG_SOFTWARE (0x00000000UL)
1143#define LL_ADC_INJ_TRIG_EXT_TIM1_TRGO (ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1144#define LL_ADC_INJ_TRIG_EXT_TIM1_CH4 (ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1145#define LL_ADC_INJ_TRIG_EXT_TIM2_TRGO (ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1146#define LL_ADC_INJ_TRIG_EXT_TIM2_CH1 (ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1147#define LL_ADC_INJ_TRIG_EXT_TIM3_CH4 (ADC_JSQR_JEXTSEL_2 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1148#define LL_ADC_INJ_TRIG_EXT_TIM4_TRGO (ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1149#define LL_ADC_INJ_TRIG_EXT_EXTI_LINE15 (ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1150#define LL_ADC_INJ_TRIG_EXT_TIM8_CH4 (ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1151#define LL_ADC_INJ_TRIG_EXT_TIM1_TRGO2 (ADC_JSQR_JEXTSEL_3 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1152#define LL_ADC_INJ_TRIG_EXT_TIM8_TRGO (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1153#define LL_ADC_INJ_TRIG_EXT_TIM8_TRGO2 (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1154#define LL_ADC_INJ_TRIG_EXT_TIM3_CH3 (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1155#define LL_ADC_INJ_TRIG_EXT_TIM3_TRGO (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1156#define LL_ADC_INJ_TRIG_EXT_TIM3_CH1 (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1157#define LL_ADC_INJ_TRIG_EXT_TIM6_TRGO (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1158#define LL_ADC_INJ_TRIG_EXT_TIM15_TRGO (ADC_JSQR_JEXTSEL_3 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1160#define LL_ADC_INJ_TRIG_EXT_HRTIM_TRG2 (ADC_JSQR_JEXTSEL_4 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1161#define LL_ADC_INJ_TRIG_EXT_HRTIM_TRG4 (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1163#define LL_ADC_INJ_TRIG_EXT_LPTIM1_OUT (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1164#define LL_ADC_INJ_TRIG_EXT_LPTIM2_OUT (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1165#define LL_ADC_INJ_TRIG_EXT_LPTIM3_OUT (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_2 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1166#define LL_ADC_INJ_TRIG_EXT_TIM23_TRGO (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1167#define LL_ADC_INJ_TRIG_EXT_TIM24_TRGO (ADC_JSQR_JEXTSEL_4 | ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC_INJ_TRIG_EXT_EDGE_DEFAULT)
1175#define LL_ADC_INJ_TRIG_EXT_RISING ( ADC_JSQR_JEXTEN_0)
1176#define LL_ADC_INJ_TRIG_EXT_FALLING (ADC_JSQR_JEXTEN_1 )
1177#define LL_ADC_INJ_TRIG_EXT_RISINGFALLING (ADC_JSQR_JEXTEN_1 | ADC_JSQR_JEXTEN_0)
1185#define LL_ADC_INJ_TRIG_INDEPENDENT (0x00000000UL)
1186#define LL_ADC_INJ_TRIG_FROM_GRP_REGULAR (ADC_CFGR_JAUTO)
1194#define LL_ADC_INJ_QUEUE_2CONTEXTS_LAST_ACTIVE (0x00000000UL)
1195#define LL_ADC_INJ_QUEUE_2CONTEXTS_END_EMPTY (ADC_CFGR_JQM)
1196#define LL_ADC_INJ_QUEUE_DISABLE (ADC_CFGR_JQDIS)
1204#define LL_ADC_INJ_SEQ_SCAN_DISABLE (0x00000000UL)
1205#define LL_ADC_INJ_SEQ_SCAN_ENABLE_2RANKS ( ADC_JSQR_JL_0)
1206#define LL_ADC_INJ_SEQ_SCAN_ENABLE_3RANKS (ADC_JSQR_JL_1 )
1207#define LL_ADC_INJ_SEQ_SCAN_ENABLE_4RANKS (ADC_JSQR_JL_1 | ADC_JSQR_JL_0)
1215#define LL_ADC_INJ_SEQ_DISCONT_DISABLE (0x00000000UL)
1216#define LL_ADC_INJ_SEQ_DISCONT_1RANK (ADC_CFGR_JDISCEN)
1224#define LL_ADC_INJ_RANK_1 (ADC_JDR1_REGOFFSET | ADC_INJ_RANK_1_JSQR_BITOFFSET_POS)
1225#define LL_ADC_INJ_RANK_2 (ADC_JDR2_REGOFFSET | ADC_INJ_RANK_2_JSQR_BITOFFSET_POS)
1226#define LL_ADC_INJ_RANK_3 (ADC_JDR3_REGOFFSET | ADC_INJ_RANK_3_JSQR_BITOFFSET_POS)
1227#define LL_ADC_INJ_RANK_4 (ADC_JDR4_REGOFFSET | ADC_INJ_RANK_4_JSQR_BITOFFSET_POS)
1235#define LL_ADC_SAMPLINGTIME_1CYCLE_5 (0x00000000UL)
1236#define LL_ADC_SAMPLINGTIME_2CYCLES_5 ( ADC_SMPR2_SMP10_0)
1237#define LL_ADC_SAMPLINGTIME_8CYCLES_5 ( ADC_SMPR2_SMP10_1 )
1238#define LL_ADC_SAMPLINGTIME_16CYCLES_5 ( ADC_SMPR2_SMP10_1 | ADC_SMPR2_SMP10_0)
1239#define LL_ADC_SAMPLINGTIME_32CYCLES_5 (ADC_SMPR2_SMP10_2 )
1240#define LL_ADC_SAMPLINGTIME_64CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_0)
1241#define LL_ADC_SAMPLINGTIME_387CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_1 )
1242#define LL_ADC_SAMPLINGTIME_810CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_1 | ADC_SMPR2_SMP10_0)
1246#if defined(ADC_VER_V5_V90)
1250#define LL_ADC_SAMPLINGTIME_ADC3_2CYCLES_5 (0x00000000UL)
1251#define LL_ADC_SAMPLINGTIME_ADC3_6CYCLES_5 ( ADC_SMPR2_SMP10_0)
1252#define LL_ADC_SAMPLINGTIME_ADC3_12CYCLES_5 ( ADC_SMPR2_SMP10_1 )
1253#define LL_ADC_SAMPLINGTIME_ADC3_24CYCLES_5 ( ADC_SMPR2_SMP10_1 | ADC_SMPR2_SMP10_0)
1254#define LL_ADC_SAMPLINGTIME_ADC3_47CYCLES_5 (ADC_SMPR2_SMP10_2 )
1255#define LL_ADC_SAMPLINGTIME_ADC3_92CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_0)
1256#define LL_ADC_SAMPLINGTIME_ADC3_247CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_1 )
1257#define LL_ADC_SAMPLINGTIME_ADC3_640CYCLES_5 (ADC_SMPR2_SMP10_2 | ADC_SMPR2_SMP10_1 | ADC_SMPR2_SMP10_0)
1266#define LL_ADC_SINGLE_ENDED ( ADC_CALFACT_CALFACT_S)
1267#define LL_ADC_DIFFERENTIAL_ENDED (ADC_CR_ADCALDIF | ADC_CALFACT_CALFACT_D)
1268#define LL_ADC_BOTH_SINGLE_DIFF_ENDED (LL_ADC_SINGLE_ENDED | LL_ADC_DIFFERENTIAL_ENDED)
1276#define LL_ADC_AWD1 (ADC_AWD_CR1_CHANNEL_MASK | ADC_AWD_CR1_REGOFFSET)
1277#define LL_ADC_AWD2 (ADC_AWD_CR23_CHANNEL_MASK | ADC_AWD_CR2_REGOFFSET)
1278#define LL_ADC_AWD3 (ADC_AWD_CR23_CHANNEL_MASK | ADC_AWD_CR3_REGOFFSET)
1286#define LL_ADC_AWD_DISABLE (0x00000000UL)
1287#define LL_ADC_AWD_ALL_CHANNELS_REG (ADC_AWD_CR23_CHANNEL_MASK | ADC_CFGR_AWD1EN )
1288#define LL_ADC_AWD_ALL_CHANNELS_INJ (ADC_AWD_CR23_CHANNEL_MASK | ADC_CFGR_JAWD1EN )
1289#define LL_ADC_AWD_ALL_CHANNELS_REG_INJ (ADC_AWD_CR23_CHANNEL_MASK | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN )
1290#define LL_ADC_AWD_CHANNEL_0_REG ((LL_ADC_CHANNEL_0 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1291#define LL_ADC_AWD_CHANNEL_0_INJ ((LL_ADC_CHANNEL_0 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1292#define LL_ADC_AWD_CHANNEL_0_REG_INJ ((LL_ADC_CHANNEL_0 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1293#define LL_ADC_AWD_CHANNEL_1_REG ((LL_ADC_CHANNEL_1 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1294#define LL_ADC_AWD_CHANNEL_1_INJ ((LL_ADC_CHANNEL_1 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1295#define LL_ADC_AWD_CHANNEL_1_REG_INJ ((LL_ADC_CHANNEL_1 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1296#define LL_ADC_AWD_CHANNEL_2_REG ((LL_ADC_CHANNEL_2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1297#define LL_ADC_AWD_CHANNEL_2_INJ ((LL_ADC_CHANNEL_2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1298#define LL_ADC_AWD_CHANNEL_2_REG_INJ ((LL_ADC_CHANNEL_2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1299#define LL_ADC_AWD_CHANNEL_3_REG ((LL_ADC_CHANNEL_3 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1300#define LL_ADC_AWD_CHANNEL_3_INJ ((LL_ADC_CHANNEL_3 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1301#define LL_ADC_AWD_CHANNEL_3_REG_INJ ((LL_ADC_CHANNEL_3 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1302#define LL_ADC_AWD_CHANNEL_4_REG ((LL_ADC_CHANNEL_4 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1303#define LL_ADC_AWD_CHANNEL_4_INJ ((LL_ADC_CHANNEL_4 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1304#define LL_ADC_AWD_CHANNEL_4_REG_INJ ((LL_ADC_CHANNEL_4 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1305#define LL_ADC_AWD_CHANNEL_5_REG ((LL_ADC_CHANNEL_5 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1306#define LL_ADC_AWD_CHANNEL_5_INJ ((LL_ADC_CHANNEL_5 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1307#define LL_ADC_AWD_CHANNEL_5_REG_INJ ((LL_ADC_CHANNEL_5 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1308#define LL_ADC_AWD_CHANNEL_6_REG ((LL_ADC_CHANNEL_6 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1309#define LL_ADC_AWD_CHANNEL_6_INJ ((LL_ADC_CHANNEL_6 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1310#define LL_ADC_AWD_CHANNEL_6_REG_INJ ((LL_ADC_CHANNEL_6 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1311#define LL_ADC_AWD_CHANNEL_7_REG ((LL_ADC_CHANNEL_7 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1312#define LL_ADC_AWD_CHANNEL_7_INJ ((LL_ADC_CHANNEL_7 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1313#define LL_ADC_AWD_CHANNEL_7_REG_INJ ((LL_ADC_CHANNEL_7 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1314#define LL_ADC_AWD_CHANNEL_8_REG ((LL_ADC_CHANNEL_8 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1315#define LL_ADC_AWD_CHANNEL_8_INJ ((LL_ADC_CHANNEL_8 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1316#define LL_ADC_AWD_CHANNEL_8_REG_INJ ((LL_ADC_CHANNEL_8 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1317#define LL_ADC_AWD_CHANNEL_9_REG ((LL_ADC_CHANNEL_9 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1318#define LL_ADC_AWD_CHANNEL_9_INJ ((LL_ADC_CHANNEL_9 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1319#define LL_ADC_AWD_CHANNEL_9_REG_INJ ((LL_ADC_CHANNEL_9 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1320#define LL_ADC_AWD_CHANNEL_10_REG ((LL_ADC_CHANNEL_10 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1321#define LL_ADC_AWD_CHANNEL_10_INJ ((LL_ADC_CHANNEL_10 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1322#define LL_ADC_AWD_CHANNEL_10_REG_INJ ((LL_ADC_CHANNEL_10 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1323#define LL_ADC_AWD_CHANNEL_11_REG ((LL_ADC_CHANNEL_11 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1324#define LL_ADC_AWD_CHANNEL_11_INJ ((LL_ADC_CHANNEL_11 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1325#define LL_ADC_AWD_CHANNEL_11_REG_INJ ((LL_ADC_CHANNEL_11 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1326#define LL_ADC_AWD_CHANNEL_12_REG ((LL_ADC_CHANNEL_12 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1327#define LL_ADC_AWD_CHANNEL_12_INJ ((LL_ADC_CHANNEL_12 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1328#define LL_ADC_AWD_CHANNEL_12_REG_INJ ((LL_ADC_CHANNEL_12 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1329#define LL_ADC_AWD_CHANNEL_13_REG ((LL_ADC_CHANNEL_13 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1330#define LL_ADC_AWD_CHANNEL_13_INJ ((LL_ADC_CHANNEL_13 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1331#define LL_ADC_AWD_CHANNEL_13_REG_INJ ((LL_ADC_CHANNEL_13 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1332#define LL_ADC_AWD_CHANNEL_14_REG ((LL_ADC_CHANNEL_14 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1333#define LL_ADC_AWD_CHANNEL_14_INJ ((LL_ADC_CHANNEL_14 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1334#define LL_ADC_AWD_CHANNEL_14_REG_INJ ((LL_ADC_CHANNEL_14 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1335#define LL_ADC_AWD_CHANNEL_15_REG ((LL_ADC_CHANNEL_15 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1336#define LL_ADC_AWD_CHANNEL_15_INJ ((LL_ADC_CHANNEL_15 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1337#define LL_ADC_AWD_CHANNEL_15_REG_INJ ((LL_ADC_CHANNEL_15 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1338#define LL_ADC_AWD_CHANNEL_16_REG ((LL_ADC_CHANNEL_16 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1339#define LL_ADC_AWD_CHANNEL_16_INJ ((LL_ADC_CHANNEL_16 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1340#define LL_ADC_AWD_CHANNEL_16_REG_INJ ((LL_ADC_CHANNEL_16 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1341#define LL_ADC_AWD_CHANNEL_17_REG ((LL_ADC_CHANNEL_17 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1342#define LL_ADC_AWD_CHANNEL_17_INJ ((LL_ADC_CHANNEL_17 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1343#define LL_ADC_AWD_CHANNEL_17_REG_INJ ((LL_ADC_CHANNEL_17 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1344#define LL_ADC_AWD_CHANNEL_18_REG ((LL_ADC_CHANNEL_18 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1345#define LL_ADC_AWD_CHANNEL_18_INJ ((LL_ADC_CHANNEL_18 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1346#define LL_ADC_AWD_CHANNEL_18_REG_INJ ((LL_ADC_CHANNEL_18 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1347#define LL_ADC_AWD_CHANNEL_19_REG ((LL_ADC_CHANNEL_19 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1348#define LL_ADC_AWD_CHANNEL_19_INJ ((LL_ADC_CHANNEL_19 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1349#define LL_ADC_AWD_CHANNEL_19_REG_INJ ((LL_ADC_CHANNEL_19 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1350#define LL_ADC_AWD_CH_VREFINT_REG ((LL_ADC_CHANNEL_VREFINT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1351#define LL_ADC_AWD_CH_VREFINT_INJ ((LL_ADC_CHANNEL_VREFINT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1352#define LL_ADC_AWD_CH_VREFINT_REG_INJ ((LL_ADC_CHANNEL_VREFINT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1353#define LL_ADC_AWD_CH_TEMPSENSOR_REG ((LL_ADC_CHANNEL_TEMPSENSOR & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1354#define LL_ADC_AWD_CH_TEMPSENSOR_INJ ((LL_ADC_CHANNEL_TEMPSENSOR & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1355#define LL_ADC_AWD_CH_TEMPSENSOR_REG_INJ ((LL_ADC_CHANNEL_TEMPSENSOR & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1356#define LL_ADC_AWD_CH_VBAT_REG ((LL_ADC_CHANNEL_VBAT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1357#define LL_ADC_AWD_CH_VBAT_INJ ((LL_ADC_CHANNEL_VBAT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1358#define LL_ADC_AWD_CH_VBAT_REG_INJ ((LL_ADC_CHANNEL_VBAT & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1359#define LL_ADC_AWD_CH_DAC1CH1_ADC2_REG ((LL_ADC_CHANNEL_DAC1CH1_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1360#define LL_ADC_AWD_CH_DAC1CH1_ADC2_INJ ((LL_ADC_CHANNEL_DAC1CH1_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1361#define LL_ADC_AWD_CH_DAC1CH1_ADC2_REG_INJ ((LL_ADC_CHANNEL_DAC1CH1_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1362#define LL_ADC_AWD_CH_DAC1CH2_ADC2_REG ((LL_ADC_CHANNEL_DAC1CH2_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1363#define LL_ADC_AWD_CH_DAC1CH2_ADC2_INJ ((LL_ADC_CHANNEL_DAC1CH2_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
1364#define LL_ADC_AWD_CH_DAC1CH2_ADC2_REG_INJ ((LL_ADC_CHANNEL_DAC1CH2_ADC2 & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
1372#define LL_ADC_AWD_THRESHOLD_HIGH (0x1UL)
1373#define LL_ADC_AWD_THRESHOLD_LOW (0x0UL)
1377#if defined(ADC_VER_V5_V90)
1381#define LL_ADC_AWD_FILTERING_NONE (0x00000000UL)
1382#define LL_ADC_AWD_FILTERING_2SAMPLES ( ADC3_TR1_AWDFILT_0)
1383#define LL_ADC_AWD_FILTERING_3SAMPLES ( ADC3_TR1_AWDFILT_1 )
1384#define LL_ADC_AWD_FILTERING_4SAMPLES ( ADC3_TR1_AWDFILT_1 | ADC3_TR1_AWDFILT_0)
1385#define LL_ADC_AWD_FILTERING_5SAMPLES (ADC3_TR1_AWDFILT_2 )
1386#define LL_ADC_AWD_FILTERING_6SAMPLES (ADC3_TR1_AWDFILT_2 | ADC3_TR1_AWDFILT_0)
1387#define LL_ADC_AWD_FILTERING_7SAMPLES (ADC3_TR1_AWDFILT_2 | ADC3_TR1_AWDFILT_1 )
1388#define LL_ADC_AWD_FILTERING_8SAMPLES (ADC3_TR1_AWDFILT_2 | ADC3_TR1_AWDFILT_1 | ADC3_TR1_AWDFILT_0)
1397#define LL_ADC_OVS_DISABLE (0x00000000UL)
1398#define LL_ADC_OVS_GRP_REGULAR_CONTINUED ( ADC_CFGR2_ROVSE)
1399#define LL_ADC_OVS_GRP_REGULAR_RESUMED (ADC_CFGR2_ROVSM | ADC_CFGR2_ROVSE)
1400#define LL_ADC_OVS_GRP_INJECTED ( ADC_CFGR2_JOVSE )
1401#define LL_ADC_OVS_GRP_INJ_REG_RESUMED ( ADC_CFGR2_JOVSE | ADC_CFGR2_ROVSE)
1409#define LL_ADC_OVS_REG_CONT (0x00000000UL)
1410#define LL_ADC_OVS_REG_DISCONT (ADC_CFGR2_TROVS)
1414#if defined(ADC_VER_V5_V90)
1418#define LL_ADC_OVS_RATIO_2 (0x00000000UL)
1419#define LL_ADC_OVS_RATIO_4 ( ADC3_CFGR2_OVSR_0)
1420#define LL_ADC_OVS_RATIO_8 ( ADC3_CFGR2_OVSR_1 )
1421#define LL_ADC_OVS_RATIO_16 ( ADC3_CFGR2_OVSR_1 | ADC3_CFGR2_OVSR_0)
1422#define LL_ADC_OVS_RATIO_32 (ADC3_CFGR2_OVSR_2 )
1423#define LL_ADC_OVS_RATIO_64 (ADC3_CFGR2_OVSR_2 | ADC3_CFGR2_OVSR_0)
1424#define LL_ADC_OVS_RATIO_128 (ADC3_CFGR2_OVSR_2 | ADC3_CFGR2_OVSR_1 )
1425#define LL_ADC_OVS_RATIO_256 (ADC3_CFGR2_OVSR_2 | ADC3_CFGR2_OVSR_1 | ADC3_CFGR2_OVSR_0)
1434#define LL_ADC_OVS_SHIFT_NONE (0x00000000UL)
1435#define LL_ADC_OVS_SHIFT_RIGHT_1 ( ADC_CFGR2_OVSS_0)
1436#define LL_ADC_OVS_SHIFT_RIGHT_2 ( ADC_CFGR2_OVSS_1 )
1437#define LL_ADC_OVS_SHIFT_RIGHT_3 ( ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)
1438#define LL_ADC_OVS_SHIFT_RIGHT_4 ( ADC_CFGR2_OVSS_2 )
1439#define LL_ADC_OVS_SHIFT_RIGHT_5 ( ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_0)
1440#define LL_ADC_OVS_SHIFT_RIGHT_6 ( ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_1 )
1441#define LL_ADC_OVS_SHIFT_RIGHT_7 ( ADC_CFGR2_OVSS_2 | ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)
1442#define LL_ADC_OVS_SHIFT_RIGHT_8 (ADC_CFGR2_OVSS_3 )
1443#define LL_ADC_OVS_SHIFT_RIGHT_9 (ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_0)
1444#define LL_ADC_OVS_SHIFT_RIGHT_10 (ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_1 )
1445#define LL_ADC_OVS_SHIFT_RIGHT_11 (ADC_CFGR2_OVSS_3 | ADC_CFGR2_OVSS_1 | ADC_CFGR2_OVSS_0)
1453#define LL_ADC_MULTI_INDEPENDENT (0x00000000UL)
1454#define LL_ADC_MULTI_DUAL_REG_SIMULT ( ADC_CCR_DUAL_2 | ADC_CCR_DUAL_1 )
1455#define LL_ADC_MULTI_DUAL_REG_INTERL ( ADC_CCR_DUAL_2 | ADC_CCR_DUAL_1 | ADC_CCR_DUAL_0)
1456#define LL_ADC_MULTI_DUAL_INJ_SIMULT ( ADC_CCR_DUAL_2 | ADC_CCR_DUAL_0)
1457#define LL_ADC_MULTI_DUAL_INJ_ALTERN (ADC_CCR_DUAL_3 | ADC_CCR_DUAL_0)
1458#define LL_ADC_MULTI_DUAL_REG_SIM_INJ_SIM ( ADC_CCR_DUAL_0)
1459#define LL_ADC_MULTI_DUAL_REG_SIM_INJ_ALT ( ADC_CCR_DUAL_1 )
1460#define LL_ADC_MULTI_DUAL_REG_INT_INJ_SIM ( ADC_CCR_DUAL_1 | ADC_CCR_DUAL_0)
1468#define LL_ADC_MULTI_REG_DMA_EACH_ADC (0x00000000UL)
1469#define LL_ADC_MULTI_REG_DMA_RES_32_10B (ADC_CCR_DAMDF_1 )
1470#define LL_ADC_MULTI_REG_DMA_RES_8B (ADC_CCR_DAMDF_1 | ADC_CCR_DAMDF_0)
1478#define LL_ADC_MULTI_TWOSMP_DELAY_1CYCLE_5 (0x00000000UL)
1479#define LL_ADC_MULTI_TWOSMP_DELAY_2CYCLES_5 ( ADC_CCR_DELAY_0)
1480#define LL_ADC_MULTI_TWOSMP_DELAY_3CYCLES_5 ( ADC_CCR_DELAY_1 )
1481#define LL_ADC_MULTI_TWOSMP_DELAY_4CYCLES_5 ( ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)
1482#define LL_ADC_MULTI_TWOSMP_DELAY_4CYCLES_5_8_BITS ( ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)
1483#define LL_ADC_MULTI_TWOSMP_DELAY_5CYCLES_5 ( ADC_CCR_DELAY_2 )
1484#define LL_ADC_MULTI_TWOSMP_DELAY_5CYCLES_5_10_BITS ( ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)
1485#define LL_ADC_MULTI_TWOSMP_DELAY_6CYCLES (ADC_CCR_DELAY_3 )
1486#define LL_ADC_MULTI_TWOSMP_DELAY_6CYCLES_5 ( ADC_CCR_DELAY_2 | ADC_CCR_DELAY_0)
1487#define LL_ADC_MULTI_TWOSMP_DELAY_6CYCLES_5_12_BITS ( ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)
1488#define LL_ADC_MULTI_TWOSMP_DELAY_7CYCLES_5 ( ADC_CCR_DELAY_2 | ADC_CCR_DELAY_1 | ADC_CCR_DELAY_0)
1489#define LL_ADC_MULTI_TWOSMP_DELAY_8CYCLES (ADC_CCR_DELAY_3 )
1490#define LL_ADC_MULTI_TWOSMP_DELAY_9CYCLES (ADC_CCR_DELAY_3 )
1498#define LL_ADC_MULTI_MASTER ( ADC_CDR_RDATA_MST)
1499#define LL_ADC_MULTI_SLAVE (ADC_CDR_RDATA_SLV )
1500#define LL_ADC_MULTI_MASTER_SLAVE (ADC_CDR_RDATA_SLV | ADC_CDR_RDATA_MST)
1537#define LL_ADC_DELAY_INTERNAL_REGUL_STAB_US ( 10UL)
1543#define LL_ADC_DELAY_VREFINT_STAB_US (5UL)
1549#define LL_ADC_DELAY_TEMPSENSOR_STAB_US ( 26UL)
1558#define LL_ADC_DELAY_CALIB_ENABLE_ADC_CYCLES ( 4UL)
1568#define ADC_LINEARITY_BIT_TOGGLE_TIMEOUT (524400UL)
1595#define LL_ADC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
1603#define LL_ADC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
1612#if defined(ADC_VER_V5_V90)
1629#define __LL_ADC12_RESOLUTION_TO_ADC3(__ADC_RESOLUTION__) \
1631 ((__ADC_RESOLUTION__) == LL_ADC_RESOLUTION_12B) \
1634 ((__ADC_RESOLUTION__) == LL_ADC_RESOLUTION_10B) \
1637 ((__ADC_RESOLUTION__) == LL_ADC_RESOLUTION_8B) \
1640 ((__ADC_RESOLUTION__) == LL_ADC_RESOLUTION_6B) \
1641 ?((ADC_CFGR_RES_2|ADC_CFGR_RES_1 | ADC_CFGR_RES_0)) \
1689#define __LL_ADC_CHANNEL_TO_DECIMAL_NB(__CHANNEL__) \
1690 ((((__CHANNEL__) & ADC_CHANNEL_ID_BITFIELD_MASK) == 0UL) \
1692 ((__CHANNEL__) & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS \
1696 (uint32_t)POSITION_VAL((__CHANNEL__)) \
1742#define __LL_ADC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__) \
1743 (((__DECIMAL_NB__) <= 9UL) \
1745 ((__DECIMAL_NB__) << ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) | \
1746 (ADC_AWD2CR_AWD2CH_0 << (__DECIMAL_NB__)) | \
1747 (ADC_SMPR1_REGOFFSET | (((3UL * (__DECIMAL_NB__))) << ADC_CHANNEL_SMPx_BITOFFSET_POS)) \
1751 ((__DECIMAL_NB__) << ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) | \
1752 (ADC_AWD2CR_AWD2CH_0 << (__DECIMAL_NB__)) | \
1753 (ADC_SMPR2_REGOFFSET | (((3UL * ((__DECIMAL_NB__) - 10UL))) << ADC_CHANNEL_SMPx_BITOFFSET_POS)) \
1808#define __LL_ADC_IS_CHANNEL_INTERNAL(__CHANNEL__) \
1809 (((__CHANNEL__) & ADC_CHANNEL_ID_INTERNAL_CH_MASK) != 0UL)
1877#define __LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL(__CHANNEL__) \
1878 ((__CHANNEL__) & ~ADC_CHANNEL_ID_INTERNAL_CH_MASK)
1907#define __LL_ADC_IS_CHANNEL_INTERNAL_AVAILABLE(__ADC_INSTANCE__, __CHANNEL__) \
1908 ((((__ADC_INSTANCE__) == ADC2) \
1910 ((__CHANNEL__) == LL_ADC_CHANNEL_DAC1CH1_ADC2) || \
1911 ((__CHANNEL__) == LL_ADC_CHANNEL_DAC1CH2_ADC2) \
1915 (((__ADC_INSTANCE__) == ADC3) \
1917 ((__CHANNEL__) == LL_ADC_CHANNEL_TEMPSENSOR) || \
1918 ((__CHANNEL__) == LL_ADC_CHANNEL_VBAT) || \
1919 ((__CHANNEL__) == LL_ADC_CHANNEL_VREFINT) \
1924#define __LL_ADC_IS_CHANNEL_INTERNAL_AVAILABLE(__ADC_INSTANCE__, __CHANNEL__) \
1925 ((((__ADC_INSTANCE__) == ADC2) \
1927 ((__CHANNEL__) == LL_ADC_CHANNEL_DAC1CH1_ADC2) || \
1928 ((__CHANNEL__) == LL_ADC_CHANNEL_DAC1CH2_ADC2) || \
1929 ((__CHANNEL__) == LL_ADC_CHANNEL_TEMPSENSOR) || \
1930 ((__CHANNEL__) == LL_ADC_CHANNEL_VBAT) || \
1931 ((__CHANNEL__) == LL_ADC_CHANNEL_VREFINT) \
2069#define __LL_ADC_ANALOGWD_CHANNEL_GROUP(__CHANNEL__, __GROUP__) \
2070 (((__GROUP__) == LL_ADC_GROUP_REGULAR) \
2071 ? (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL) \
2073 ((__GROUP__) == LL_ADC_GROUP_INJECTED) \
2074 ? (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL) \
2076 (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL) \
2099#define __LL_ADC_ANALOGWD_SET_THRESHOLD_RESOLUTION(__ADC_RESOLUTION__, __AWD_THRESHOLD__) \
2100 ((__AWD_THRESHOLD__) << ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1U )))
2122#define __LL_ADC_ANALOGWD_GET_THRESHOLD_RESOLUTION(__ADC_RESOLUTION__, __AWD_THRESHOLD_16_BITS__) \
2123 ((__AWD_THRESHOLD_16_BITS__) >> ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1U )))
2138#define __LL_ADC_CALIB_FACTOR_SINGLE_DIFF(__CALIB_FACTOR_SINGLE_ENDED__, __CALIB_FACTOR_DIFFERENTIAL__) \
2139 (((__CALIB_FACTOR_DIFFERENTIAL__) << ADC_CALFACT_CALFACT_D_Pos) | (__CALIB_FACTOR_SINGLE_ENDED__))
2154#define __LL_ADC_MULTI_CONV_DATA_MASTER_SLAVE(__ADC_MULTI_MASTER_SLAVE__, __ADC_MULTI_CONV_DATA__) \
2155 (((__ADC_MULTI_CONV_DATA__) >> ((ADC_CDR_RDATA_SLV_Pos) & ~(__ADC_MULTI_MASTER_SLAVE__))) & ADC_CDR_RDATA_MST)
2169#define __LL_ADC_MULTI_INSTANCE_MASTER(__ADCx__) \
2170 ( ( ((__ADCx__) == ADC2) \
2187#if defined(ADC3_COMMON)
2188#define __LL_ADC_COMMON_INSTANCE(__ADCx__) \
2189 ((((__ADCx__) == ADC1) || ((__ADCx__) == ADC2)) \
2199#define __LL_ADC_COMMON_INSTANCE(__ADCx__) (ADC12_COMMON)
2219#if defined(ADC3_COMMON)
2220#define __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__ADCXY_COMMON__) \
2221 (((__ADCXY_COMMON__) == ADC12_COMMON) \
2223 (LL_ADC_IsEnabled(ADC1) | \
2224 LL_ADC_IsEnabled(ADC2) ) \
2228 (LL_ADC_IsEnabled(ADC3)) \
2232#define __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__ADCXY_COMMON__) \
2233 (LL_ADC_IsEnabled(ADC1) | LL_ADC_IsEnabled(ADC2))
2250#define __LL_ADC_DIGITAL_SCALE(__ADC_RESOLUTION__) \
2251 (0xFFFFUL >> ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)))
2253#if defined(ADC_VER_V5_V90)
2267#define __LL_ADC3_DIGITAL_SCALE(__ADC_RESOLUTION__) \
2268 (0xFFFUL >> ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS_ADC3 - 1UL)))
2290#if defined(ADC_VER_V5_X) || defined(ADC_VER_V5_V90)
2291#define __LL_ADC_CONVERT_DATA_RESOLUTION(__DATA__,\
2292 __ADC_RESOLUTION_CURRENT__,\
2293 __ADC_RESOLUTION_TARGET__) \
2294( (__ADC_RESOLUTION_CURRENT__ == LL_ADC_RESOLUTION_8B) \
2297 << (((__ADC_RESOLUTION_CURRENT__) & ~(ADC_CFGR_RES_1 | ADC_CFGR_RES_0) ) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2298 >> ((__ADC_RESOLUTION_TARGET__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2302 (__ADC_RESOLUTION_TARGET__ == LL_ADC_RESOLUTION_8B) \
2305 << ((__ADC_RESOLUTION_CURRENT__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2306 >> (((__ADC_RESOLUTION_TARGET__) & ~(ADC_CFGR_RES_1 | ADC_CFGR_RES_0) ) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2311 << ((__ADC_RESOLUTION_CURRENT__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2312 >> ((__ADC_RESOLUTION_TARGET__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2319#define __LL_ADC_CONVERT_DATA_RESOLUTION(__DATA__,\
2320 __ADC_RESOLUTION_CURRENT__,\
2321 __ADC_RESOLUTION_TARGET__) \
2322( (__ADC_RESOLUTION_CURRENT__ == LL_ADC_RESOLUTION_8B) \
2325 << (((__ADC_RESOLUTION_CURRENT__) & ~(ADC_CFGR_RES_1 | ADC_CFGR_RES_0) ) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2326 >> ((__ADC_RESOLUTION_TARGET__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2330 (__ADC_RESOLUTION_TARGET__ == LL_ADC_RESOLUTION_8B) \
2333 << ((__ADC_RESOLUTION_CURRENT__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2334 >> (((__ADC_RESOLUTION_TARGET__) & ~(ADC_CFGR_RES_1 | ADC_CFGR_RES_0) ) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2339 << ((__ADC_RESOLUTION_CURRENT__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL))) \
2340 >> ((__ADC_RESOLUTION_TARGET__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)) \
2347#if defined(ADC_VER_V5_V90)
2366#define __LL_ADC_CONVERT_DATA_RESOLUTION_ADC3(__DATA__,\
2367 __ADC_RESOLUTION_CURRENT__,\
2368 __ADC_RESOLUTION_TARGET__) \
2370 << ((__ADC_RESOLUTION_CURRENT__) >> (ADC_CFGR_RES_BITOFFSET_POS_ADC3 - 1UL))) \
2371 >> ((__ADC_RESOLUTION_TARGET__) >> (ADC_CFGR_RES_BITOFFSET_POS_ADC3 - 1UL)) \
2391#define __LL_ADC_CALC_DATA_TO_VOLTAGE(__VREFANALOG_VOLTAGE__,\
2393 __ADC_RESOLUTION__) \
2394 ((__ADC_DATA__) * (__VREFANALOG_VOLTAGE__) \
2395 / __LL_ADC_DIGITAL_SCALE(__ADC_RESOLUTION__) \
2424#define __LL_ADC_CALC_VREFANALOG_VOLTAGE(__VREFINT_ADC_DATA__,\
2425 __ADC_RESOLUTION__) \
2426 (((uint32_t)(*VREFINT_CAL_ADDR) * VREFINT_CAL_VREF) \
2427 / __LL_ADC_CONVERT_DATA_RESOLUTION((__VREFINT_ADC_DATA__), \
2428 (__ADC_RESOLUTION__), \
2429 LL_ADC_RESOLUTION_12B) \
2478#define __LL_ADC_CALC_TEMPERATURE(__VREFANALOG_VOLTAGE__,\
2479 __TEMPSENSOR_ADC_DATA__,\
2480 __ADC_RESOLUTION__) \
2481 (((( ((int32_t)((__LL_ADC_CONVERT_DATA_RESOLUTION((__TEMPSENSOR_ADC_DATA__), \
2482 (__ADC_RESOLUTION__), \
2483 LL_ADC_RESOLUTION_16B) \
2484 * (__VREFANALOG_VOLTAGE__)) \
2485 / TEMPSENSOR_CAL_VREFANALOG) \
2486 - (int32_t) *TEMPSENSOR_CAL1_ADDR) \
2487 ) * (int32_t)(TEMPSENSOR_CAL2_TEMP - TEMPSENSOR_CAL1_TEMP) \
2488 ) / (int32_t)((int32_t)*TEMPSENSOR_CAL2_ADDR - (int32_t)*TEMPSENSOR_CAL1_ADDR) \
2489 ) + TEMPSENSOR_CAL1_TEMP \
2537#define __LL_ADC_CALC_TEMPERATURE_TYP_PARAMS(__TEMPSENSOR_TYP_AVGSLOPE__,\
2538 __TEMPSENSOR_TYP_CALX_V__,\
2539 __TEMPSENSOR_CALX_TEMP__,\
2540 __VREFANALOG_VOLTAGE__,\
2541 __TEMPSENSOR_ADC_DATA__,\
2542 __ADC_RESOLUTION__) \
2544 (int32_t)((((__TEMPSENSOR_ADC_DATA__) * (__VREFANALOG_VOLTAGE__)) \
2545 / __LL_ADC_DIGITAL_SCALE(__ADC_RESOLUTION__)) \
2548 (int32_t)(((__TEMPSENSOR_TYP_CALX_V__)) \
2551 ) / (int32_t)(__TEMPSENSOR_TYP_AVGSLOPE__) \
2552 ) + (int32_t)(__TEMPSENSOR_CALX_TEMP__) \
2605 uint32_t data_reg_addr;
2607 if (Register == LL_ADC_DMA_REG_REGULAR_DATA)
2610 data_reg_addr = (uint32_t) & (ADCx->
DR);
2615 data_reg_addr = (uint32_t) & ((__LL_ADC_COMMON_INSTANCE(ADCx))->CDR);
2618 return data_reg_addr;
2861#if defined(ADC_VER_V5_V90)
2863 SingleDiff & ADC_SINGLEDIFF_CALIB_FACTOR_MASK,
2864 CalibrationFactor << (((SingleDiff & ADC_SINGLEDIFF_CALIB_F_BIT_D_MASK) >> ADC_SINGLEDIFF_CALIB_F_BIT_D_SHIFT4) & ~(SingleDiff &
ADC_CALFACT_CALFACT_S)));
2867 SingleDiff & ADC_SINGLEDIFF_CALIB_FACTOR_MASK,
2868 CalibrationFactor << (((SingleDiff & ADC_SINGLEDIFF_CALIB_F_BIT_D_MASK) >> ADC_SINGLEDIFF_CALIB_F_BIT_D_SHIFT4) & ~(SingleDiff &
ADC_CALFACT_CALFACT_S)));
2896#if defined(ADC_VER_V5_V90)
2897 return (uint32_t)(
READ_BIT(ADCx->
CALFACT_RES13, (SingleDiff & ADC_SINGLEDIFF_CALIB_FACTOR_MASK)) >> ((SingleDiff & ADC_SINGLEDIFF_CALIB_F_BIT_D_MASK) >> ADC_SINGLEDIFF_CALIB_F_BIT_D_SHIFT4));
2899 return (uint32_t)(
READ_BIT(ADCx->CALFACT, (SingleDiff & ADC_SINGLEDIFF_CALIB_FACTOR_MASK)) >> ((SingleDiff & ADC_SINGLEDIFF_CALIB_F_BIT_D_MASK) >> ADC_SINGLEDIFF_CALIB_F_BIT_D_SHIFT4));
2927#if defined(ADC_VER_V5_V90)
2930 uint32_t timeout_cpu_cycles = ADC_LINEARITY_BIT_TOGGLE_TIMEOUT;
2933 while ((
READ_BIT(ADCx->
CR, LinearityWord) == 0UL) && (timeout_cpu_cycles > 0UL))
2935 timeout_cpu_cycles--;
2939 uint32_t timeout_cpu_cycles = ADC_LINEARITY_BIT_TOGGLE_TIMEOUT;
2942 while ((
READ_BIT(ADCx->
CR, LinearityWord) == 0UL) && (timeout_cpu_cycles > 0UL))
2944 timeout_cpu_cycles--;
2967 uint32_t timeout_cpu_cycles = ADC_LINEARITY_BIT_TOGGLE_TIMEOUT;
2969 while ((
READ_BIT(ADCx->
CR, LinearityWord) != 0UL) && (timeout_cpu_cycles > 0UL))
2971 timeout_cpu_cycles--;
2973#if defined(ADC_VER_V5_V90)
2999#if defined(ADC_VER_V5_3)
3003#elif defined(ADC_VER_V5_V90)
3010 if ((
DBGMCU->IDCODE & 0x30000000UL) == 0x10000000UL)
3016 if (LL_ADC_RESOLUTION_8B == Resolution)
3027 if ((
DBGMCU->IDCODE & 0x30000000UL) == 0x10000000UL)
3033 if (LL_ADC_RESOLUTION_8B == Resolution)
3064#if defined (ADC_VER_V5_3)
3068#elif defined(ADC_VER_V5_V90)
3077 return (LL_ADC_RESOLUTION_8B);
3086 if ((
DBGMCU->IDCODE & 0x30000000UL) == 0x10000000UL)
3094 return (LL_ADC_RESOLUTION_8B);
3245#if defined(ADC_VER_V5_V90)
3249 ADCx->
PCSEL_RES0 |= (1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(Channel) & 0x1FUL));
3253 ADCx->PCSEL |= (1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(Channel) & 0x1FUL));
3290#if defined(ADC_VER_V5_V90)
3294 return (uint32_t)(
READ_BIT(ADCx->
PCSEL_RES0, 1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(Channel) & 0x1FUL)));
3302 return (uint32_t)(
READ_BIT(ADCx->PCSEL, 1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(Channel) & 0x1FUL)));
3381 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3382#if defined(ADC_VER_V5_V90)
3394 (Channel & ADC_CHANNEL_ID_NUMBER_MASK) | OffsetLevel);
3463 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3489 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3554#if defined(ADC_VER_V5_V90)
3562 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3586#if defined(ADC_VER_V5_V90)
3595 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3600#if defined(ADC_VER_V5_V90)
3627 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3656 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3691 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3720 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3758 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3792 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
OFR1, Offsety);
3907 uint32_t ShiftExten = ((TriggerSource &
ADC_CFGR_EXTEN) >> (ADC_REG_TRIG_EXTEN_BITOFFSET_POS - 2UL));
3911 return ((TriggerSource
3968#if defined(ADC_VER_V5_V90)
4261 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
SQR1, ((Rank & ADC_REG_SQRX_REGOFFSET_MASK) >> ADC_SQRX_REGOFFSET_POS));
4264 ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0 << (Rank & ADC_REG_RANK_ID_SQRX_MASK),
4265 ((Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (Rank & ADC_REG_RANK_ID_SQRX_MASK));
4359 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
SQR1, ((Rank & ADC_REG_SQRX_REGOFFSET_MASK) >> ADC_SQRX_REGOFFSET_POS));
4362 ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0 << (Rank & ADC_REG_RANK_ID_SQRX_MASK))
4363 >> (Rank & ADC_REG_RANK_ID_SQRX_MASK)) << ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS
4424#if defined(ADC_VER_V5_V90)
4694 uint32_t ShiftJexten = ((TriggerSource &
ADC_JSQR_JEXTEN) >> (ADC_INJ_TRIG_EXTEN_BITOFFSET_POS - 2UL));
4698 return ((TriggerSource
4900 (ADC_CHANNEL_ID_NUMBER_MASK >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (Rank & ADC_INJ_RANK_ID_JSQR_MASK),
4901 ((Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (Rank & ADC_INJ_RANK_ID_JSQR_MASK));
4968 (ADC_CHANNEL_ID_NUMBER_MASK >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (Rank & ADC_INJ_RANK_ID_JSQR_MASK))
4969 >> (Rank & ADC_INJ_RANK_ID_JSQR_MASK)) << ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS
5280 uint32_t TriggerSource,
5281 uint32_t ExternalTriggerEdge,
5282 uint32_t SequencerNbRanks,
5283 uint32_t Rank1_Channel,
5284 uint32_t Rank2_Channel,
5285 uint32_t Rank3_Channel,
5286 uint32_t Rank4_Channel)
5294 uint32_t is_trigger_not_sw = (uint32_t)((TriggerSource != LL_ADC_INJ_TRIG_SOFTWARE) ? 1UL : 0UL);
5304 (ExternalTriggerEdge * (is_trigger_not_sw)) |
5305 (((Rank4_Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (LL_ADC_INJ_RANK_4 & ADC_INJ_RANK_ID_JSQR_MASK)) |
5306 (((Rank3_Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (LL_ADC_INJ_RANK_3 & ADC_INJ_RANK_ID_JSQR_MASK)) |
5307 (((Rank2_Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (LL_ADC_INJ_RANK_2 & ADC_INJ_RANK_ID_JSQR_MASK)) |
5308 (((Rank1_Channel & ADC_CHANNEL_ID_NUMBER_MASK) >> ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS) << (LL_ADC_INJ_RANK_1 & ADC_INJ_RANK_ID_JSQR_MASK)) |
5415 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
SMPR1, ((Channel & ADC_CHANNEL_SMPRX_REGOFFSET_MASK) >> ADC_SMPRX_REGOFFSET_POS));
5418 ADC_SMPR1_SMP0 << ((Channel & ADC_CHANNEL_SMPx_BITOFFSET_MASK) >> ADC_CHANNEL_SMPx_BITOFFSET_POS),
5419 SamplingTime << ((Channel & ADC_CHANNEL_SMPx_BITOFFSET_MASK) >> ADC_CHANNEL_SMPx_BITOFFSET_POS));
5496 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
SMPR1, ((Channel & ADC_CHANNEL_SMPRX_REGOFFSET_MASK) >> ADC_SMPRX_REGOFFSET_POS));
5499 ADC_SMPR1_SMP0 << ((Channel & ADC_CHANNEL_SMPx_BITOFFSET_MASK) >> ADC_CHANNEL_SMPx_BITOFFSET_POS))
5500 >> ((Channel & ADC_CHANNEL_SMPx_BITOFFSET_MASK) >> ADC_CHANNEL_SMPx_BITOFFSET_POS)
5557#if defined(ADC_VER_V5_V90)
5564 Channel & ADC_SINGLEDIFF_CHANNEL_MASK,
5565 (Channel & ADC_SINGLEDIFF_CHANNEL_MASK) & (
ADC_DIFSEL_DIFSEL >> (SingleDiff & ADC_SINGLEDIFF_CHANNEL_SHIFT_MASK)));
5570 Channel & ADC_SINGLEDIFF_CHANNEL_MASK,
5571 (Channel & ADC_SINGLEDIFF_CHANNEL_MASK) & (
ADC_DIFSEL_DIFSEL >> (SingleDiff & ADC_SINGLEDIFF_CHANNEL_SHIFT_MASK)));
5578 Channel & ADC_SINGLEDIFF_CHANNEL_MASK,
5579 (Channel & ADC_SINGLEDIFF_CHANNEL_MASK) & (
ADC_DIFSEL_DIFSEL >> (SingleDiff & ADC_SINGLEDIFF_CHANNEL_SHIFT_MASK)));
5628#if defined(ADC_VER_V5_V90)
5631 return (uint32_t)(
READ_BIT(ADCx->DIFSEL, (Channel & ADC_SINGLEDIFF_CHANNEL_MASK)));
5780 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
CFGR, ((AWDy & ADC_AWD_CRX_REGOFFSET_MASK) >> ADC_AWD_CRX_REGOFFSET_POS)
5781 + ((AWDy & ADC_AWD_CR12_REGOFFSETGAP_MASK) * ADC_AWD_CR12_REGOFFSETGAP_VAL));
5784 (AWDy & ADC_AWD_CR_ALL_CHANNEL_MASK),
5785 AWDChannelGroup & AWDy);
5915 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
CFGR, ((AWDy & ADC_AWD_CRX_REGOFFSET_MASK) >> ADC_AWD_CRX_REGOFFSET_POS)
5916 + ((AWDy & ADC_AWD_CR12_REGOFFSETGAP_MASK) * ADC_AWD_CR12_REGOFFSETGAP_VAL));
5918 uint32_t AnalogWDMonitChannels = (
READ_BIT(*preg, AWDy) & AWDy & ADC_AWD_CR_ALL_CHANNEL_MASK);
5924 if (AnalogWDMonitChannels != 0UL)
5926 if (AWDy == LL_ADC_AWD1)
5931 AnalogWDMonitChannels = ((AnalogWDMonitChannels
5932 | (ADC_AWD_CR23_CHANNEL_MASK)
5940 AnalogWDMonitChannels = (AnalogWDMonitChannels
5947 if ((AnalogWDMonitChannels & ADC_AWD_CR23_CHANNEL_MASK) == ADC_AWD_CR23_CHANNEL_MASK)
5950 AnalogWDMonitChannels = (ADC_AWD_CR23_CHANNEL_MASK
5958 AnalogWDMonitChannels = (AnalogWDMonitChannels
5966 return AnalogWDMonitChannels;
6022__STATIC_INLINE void LL_ADC_SetAnalogWDThresholds(
ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdsHighLow, uint32_t AWDThresholdValue)
6024#if defined(ADC_VER_V5_V90)
6032 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1, ((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS));
6036 AWDThresholdValue << (((AWDThresholdsHighLow *
ADC3_TR1_HT1) & ADC_AWD_TRX_BIT_HIGH_MASK) >> ADC_AWD_TRX_BIT_HIGH_SHIFT4));
6045 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6046 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6047 + (AWDThresholdsHighLow));
6057 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->LTR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6058 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6059 + (AWDThresholdsHighLow));
6090#if defined(ADC_VER_V5_V90)
6093 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1,
6094 ((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS));
6098 >> (((AWDThresholdsHighLow & ADC_AWD_TRX_BIT_HIGH_MASK) >> ADC_AWD_TRX_BIT_HIGH_SHIFT4)
6103 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6104 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6105 + (AWDThresholdsHighLow));
6110 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->LTR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6111 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6112 + (AWDThresholdsHighLow));
6118#if defined(ADC_VER_V5_V90)
6164__STATIC_INLINE void LL_ADC_ConfigAnalogWDThresholds(
ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdHighValue, uint32_t AWDThresholdLowValue)
6173 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1,
6174 ((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS));
6182 __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6183 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6184 + (LL_ADC_AWD_THRESHOLD_LOW));
6185 __IO uint32_t *preg2 = __ADC_PTR_REG_OFFSET(ADCx->
LTR1_TR1, (((AWDy & ADC_AWD_TRX_REGOFFSET_MASK) >> ADC_AWD_TRX_REGOFFSET_POS) * 2UL)
6186 + ((AWDy & ADC_AWD_TR12_REGOFFSETGAP_MASK) * ADC_AWD_TR12_REGOFFSETGAP_VAL)
6187 + (LL_ADC_AWD_THRESHOLD_HIGH));
6412#if defined(ADC_VER_V5_V90)
6446#if defined(ADC_VER_V5_V90)
6511#if defined(ADC_VER_V5_V90)
6517 if ((
DBGMCU->IDCODE & 0x30000000UL) == 0x10000000UL)
6541 if ((
DBGMCU->IDCODE & 0x30000000UL) == 0x10000000UL)
6801 ADC_CR_BITS_PROPERTY_RS,
6857 ADC_CR_BITS_PROPERTY_RS,
6908 ADC_CR_BITS_PROPERTY_RS,
6928 ADC_CR_BITS_PROPERTY_RS,
6997 ADC_CR_ADCAL | (CalibrationMode & ADC_CALIB_MODE_MASK) | (SingleDiff & ADC_SINGLEDIFF_CALIB_START_MASK));
7043 ADC_CR_BITS_PROPERTY_RS,
7063 ADC_CR_BITS_PROPERTY_RS,
7238 ADC_CR_BITS_PROPERTY_RS,
7258 ADC_CR_BITS_PROPERTY_RS,
7303 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7330 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7357 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7384 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7411 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7438 const __IO uint32_t *preg = __ADC_PTR_REG_OFFSET(ADCx->
JDR1, ((Rank & ADC_INJ_JDRX_REGOFFSET_MASK) >> ADC_JDRX_REGOFFSET_POS));
7464 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_ADRDY) == (LL_ADC_FLAG_ADRDY)) ? 1UL : 0UL);
7486 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_EOS) == (LL_ADC_FLAG_EOS)) ? 1UL : 0UL);
7497 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_OVR) == (LL_ADC_FLAG_OVR)) ? 1UL : 0UL);
7508 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_EOSMP) == (LL_ADC_FLAG_EOSMP)) ? 1UL : 0UL);
7519 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_JEOC) == (LL_ADC_FLAG_JEOC)) ? 1UL : 0UL);
7530 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_JEOS) == (LL_ADC_FLAG_JEOS)) ? 1UL : 0UL);
7541 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_JQOVF) == (LL_ADC_FLAG_JQOVF)) ? 1UL : 0UL);
7552 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_LDORDY) == (LL_ADC_FLAG_LDORDY)) ? 1UL : 0UL);
7563 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_AWD1) == (LL_ADC_FLAG_AWD1)) ? 1UL : 0UL);
7574 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_AWD2) == (LL_ADC_FLAG_AWD2)) ? 1UL : 0UL);
7585 return ((
READ_BIT(ADCx->
ISR, LL_ADC_FLAG_AWD3) == (LL_ADC_FLAG_AWD3)) ? 1UL : 0UL);
7721 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_ADRDY_MST) == (LL_ADC_FLAG_ADRDY_MST)) ? 1UL : 0UL);
7733 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_ADRDY_SLV) == (LL_ADC_FLAG_ADRDY_SLV)) ? 1UL : 0UL);
7745 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOC_SLV) == (LL_ADC_FLAG_EOC_SLV)) ? 1UL : 0UL);
7757 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOC_SLV) == (LL_ADC_FLAG_EOC_SLV)) ? 1UL : 0UL);
7769 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOS_MST) == (LL_ADC_FLAG_EOS_MST)) ? 1UL : 0UL);
7781 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOS_SLV) == (LL_ADC_FLAG_EOS_SLV)) ? 1UL : 0UL);
7793 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_OVR_MST) == (LL_ADC_FLAG_OVR_MST)) ? 1UL : 0UL);
7805 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_OVR_SLV) == (LL_ADC_FLAG_OVR_SLV)) ? 1UL : 0UL);
7817 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOSMP_MST) == (LL_ADC_FLAG_EOSMP_MST)) ? 1UL : 0UL);
7829 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_EOSMP_SLV) == (LL_ADC_FLAG_EOSMP_SLV)) ? 1UL : 0UL);
7841 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JEOC_MST) == (LL_ADC_FLAG_JEOC_MST)) ? 1UL : 0UL);
7853 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JEOC_SLV) == (LL_ADC_FLAG_JEOC_SLV)) ? 1UL : 0UL);
7865 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JEOS_MST) == (LL_ADC_FLAG_JEOS_MST)) ? 1UL : 0UL);
7877 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JEOS_SLV) == (LL_ADC_FLAG_JEOS_SLV)) ? 1UL : 0UL);
7889 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JQOVF_MST) == (LL_ADC_FLAG_JQOVF_MST)) ? 1UL : 0UL);
7901 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_JQOVF_SLV) == (LL_ADC_FLAG_JQOVF_SLV)) ? 1UL : 0UL);
7913 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD1_MST) == (LL_ADC_FLAG_AWD1_MST)) ? 1UL : 0UL);
7925 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD1_SLV) == (LL_ADC_FLAG_AWD1_SLV)) ? 1UL : 0UL);
7937 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD2_MST) == (LL_ADC_FLAG_AWD2_MST)) ? 1UL : 0UL);
7949 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD2_SLV) == (LL_ADC_FLAG_AWD2_SLV)) ? 1UL : 0UL);
7961 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD3_MST) == (LL_ADC_FLAG_AWD3_MST)) ? 1UL : 0UL);
7973 return ((
READ_BIT(ADCxy_COMMON->
CSR, LL_ADC_FLAG_AWD3_SLV) == (LL_ADC_FLAG_AWD3_SLV)) ? 1UL : 0UL);
8235 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_ADRDY) == (LL_ADC_IT_ADRDY)) ? 1UL : 0UL);
8247 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_EOC) == (LL_ADC_IT_EOC)) ? 1UL : 0UL);
8259 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_EOS) == (LL_ADC_IT_EOS)) ? 1UL : 0UL);
8271 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_OVR) == (LL_ADC_IT_OVR)) ? 1UL : 0UL);
8283 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_EOSMP) == (LL_ADC_IT_EOSMP)) ? 1UL : 0UL);
8295 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_JEOC) == (LL_ADC_IT_JEOC)) ? 1UL : 0UL);
8307 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_JEOS) == (LL_ADC_IT_JEOS)) ? 1UL : 0UL);
8319 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_JQOVF) == (LL_ADC_IT_JQOVF)) ? 1UL : 0UL);
8331 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_AWD1) == (LL_ADC_IT_AWD1)) ? 1UL : 0UL);
8343 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_AWD2) == (LL_ADC_IT_AWD2)) ? 1UL : 0UL);
8355 return ((
READ_BIT(ADCx->
IER, LL_ADC_IT_AWD3) == (LL_ADC_IT_AWD3)) ? 1UL : 0UL);
8362#if defined(USE_FULL_LL_DRIVER)
8370void LL_ADC_CommonStructInit(LL_ADC_CommonInitTypeDef *ADC_CommonInitStruct);
8378void LL_ADC_StructInit(LL_ADC_InitTypeDef *ADC_InitStruct);
8382void LL_ADC_REG_StructInit(LL_ADC_REG_InitTypeDef *ADC_REG_InitStruct);
8386void LL_ADC_INJ_StructInit(LL_ADC_INJ_InitTypeDef *ADC_INJ_InitStruct);
#define __IO
Defines 'read / write' permissions.
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define WRITE_REG(REG, VAL)
#define POSITION_VAL(VAL)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define READ_BIT(REG, BIT)
#define ADC_SMPR1_SMP0
ADC Channel 0 Sampling time selection.
#define ADC3_CFGR_DMAEN
ADC DMA transfer enable.
#define ADC_CCR_CKMODE
ADC clock mode.
#define ADC_CALFACT_CALFACT_S
ADC calibration factors in single-ended mode.
#define ADC_CCR_PRESC
ADC prescaler.
#define ADC_CFGR_JAUTO
ADC Automatic injected group conversion.
#define ADC_OFR1_OFFSET1_CH
ADC Channel selection for the data offset 1.
#define ADC_CFGR_DISCEN
ADC Discontinuous mode for regular channels.
#define ADC_CALFACT2_LINCALFACT
ADC Linearity calibration factors.
#define ADC_CR_ADSTART
ADC Start of Regular conversion.
#define ADC_CR_ADEN
ADC Enable control.
#define ADC_CR_JADSTART
ADC Start of injected conversion.
#define ADC_CR_ADCALLIN
ADC Linearity calibration.
#define ADC3_OFR1_OFFSETPOS
ADC offset number 1 positive.
#define ADC_JSQR_JSQ4
ADC 4th conversion in injected sequence.
#define ADC_CFGR2_TROVS
ADC Triggered regular Oversampling.
#define ADC_JSQR_JSQ2
ADC 2nd conversion in injected sequence.
#define ADC3_CFGR2_BULB
ADC Bulb sampling mode.
#define ADC3_CFGR2_OVSR
ADC oversampling ratio.
#define ADC3_TR1_AWDFILT
ADC analog watchdog filtering parameter.
#define ADC_CFGR_DISCNUM
ADC Discontinuous mode channel count.
#define ADC_DIFSEL_DIFSEL
ADC differential modes for channels 1 to 18.
#define ADC_CFGR_DMNGT
ADC Data Management configuration.
#define ADC3_TR1_LT1
ADC analog watchdog 1 threshold low.
#define ADC_CR_ADSTP
ADC Stop of Regular conversion.
#define ADC_CFGR_RES_0
0x00000004
#define ADC_CR_ADVREGEN
ADC Voltage regulator Enable.
#define ADC_CFGR2_OVSR_Pos
#define ADC3_CFGR_DMACFG
ADC DMA transfer configuration.
#define ADC_CR_ADCALDIF
ADC Differential Mode for calibration.
#define ADC_CFGR2_OVSS
ADC Regular Oversampling shift.
#define ADC_CFGR_AWD1CH_Pos
#define ADC_CR_DEEPPWD
ADC Deep power down Enable.
#define ADC_CFGR2_ROVSE
ADC Regular group oversampler enable.
#define ADC_CFGR2_JOVSE
ADC Injected group oversampler enable.
#define ADC_OFR1_SSATE
ADC Signed saturation Enable.
#define ADC_CFGR2_OVSR
ADC oversampling Ratio.
#define ADC_CFGR_AUTDLY
ADC Delayed conversion mode.
#define ADC_CFGR2_RSHIFT4
ADC Right-shift data after Offset 4 correction.
#define ADC_OFR1_OFFSET1
ADC data offset 1 for channel programmed into bits OFFSET1_CH[4:0].
#define ADC_CFGR_JAWD1EN
ADC Analog watchdog 1 enable on injected Channels.
#define ADC_CFGR_JQDIS
ADC Injected queue disable.
#define ADC_CFGR2_RSHIFT3
ADC Right-shift data after Offset 3 correction.
#define ADC_CFGR2_RSHIFT1
ADC Right-shift data after Offset 1 correction.
#define ADC_JSQR_JEXTSEL
ADC external trigger selection for injected group.
#define ADC3_OFR1_OFFSET1_EN
ADC offset number 1 enable.
#define ADC_CFGR_CONT
ADC Single/continuous conversion mode for regular conversion.
#define ADC3_CFGR2_SMPTRIG
ADC Sample Time Control Trigger mode.
#define ADC_CR_ADCAL
ADC Calibration.
#define ADC_CFGR_RES_1
0x00000008
#define ADC_ISR_EOC
ADC End of Regular Conversion flag.
#define ADC_CFGR_AWD1CH
ADC Analog watchdog 1 Channel selection.
#define ADC3_TR1_HT1
ADC analog watchdog 1 threshold high.
#define ADC_CCR_DELAY
Delay between 2 sampling phases.
#define ADC_CCR_DAMDF
Dual ADC mode Data format.
#define ADC_JSQR_JL
ADC injected channel sequence length.
#define ADC_CFGR_AWD1EN
ADC Analog watchdog 1 enable on regular Channels.
#define ADC3_OFR1_SATEN
ADC offset number 1 saturation enable.
#define ADC_CCR_VBATEN
VBAT enable.
#define ADC_CFGR_EXTSEL
ADC External trigger selection for regular group.
#define ADC_DR_RDATA
ADC regular Data converted.
#define ADC_CFGR2_ROVSM
ADC Regular oversampling mode.
#define ADC_LTR_LT
ADC Analog watchdog 1, 2 and 3 lower threshold.
#define ADC_CR_JADSTP
ADC Stop of injected conversion.
#define ADC_JDR1_JDATA
ADC Injected DATA.
#define ADC_JSQR_JEXTEN
ADC external trigger enable and polarity selection for injected channels.
#define ADC_CFGR2_RSHIFT2
ADC Right-shift data after Offset 2 correction.
#define ADC_HTR_HT
ADC Analog watchdog 1,2 and 3 higher threshold.
#define ADC_JSQR_JSQ1
ADC 1st conversion in injected sequence.
#define ADC_CR_ADDIS
ADC Disable command.
#define ADC_CFGR_AWD1SGL
Enable the watchdog 1 on a single channel or on all channels.
#define ADC_CFGR_JQM
ADC JSQR Queue mode.
#define ADC_CCR_DUAL
Dual ADC mode selection.
#define ADC_JSQR_JSQ3
ADC 3rd conversion in injected sequence.
#define ADC_CR_BOOST
ADC Boost Mode configuration.
#define ADC_SQR1_L
ADC regular channel sequence length.
#define ADC_CR_BOOST_0
0x00000100
#define ADC3_CFGR_RES
ADC data resolution.
#define ADC_CFGR_JDISCEN
ADC Discontinuous mode on injected channels.
#define ADC_CFGR_RES
ADC Data resolution.
#define ADC_CCR_TSEN
Temperature sensor enable.
#define ADC_CCR_VREFEN
VREFINT enable.
#define ADC_CFGR_OVRMOD
ADC overrun mode.
#define ADC_CFGR_EXTEN
ADC External trigger enable and polarity selection for regular channels.
#define ADC_AWD2CR_AWD2CH_0
0x00000001
CMSIS STM32H7xx Device Peripheral Access Layer Header File.
__IO uint32_t CDR
ADC common regular data register for dual Address offset: ADC1/3 base address + 0x30C.
__IO uint32_t CSR
ADC Common status register, Address offset: ADC1/3 base address + 0x300.
__IO uint32_t CCR
ADC common control register, Address offset: ADC1/3 base address + 0x308.
Analog to Digital Converter.
__IO uint32_t SQR1
ADC regular sequence register 1, Address offset: 0x30.
__IO uint32_t CFGR2
ADC Configuration register 2, Address offset: 0x10.
__IO uint32_t CFGR
ADC Configuration register, Address offset: 0x0C.
__IO uint32_t JSQR
ADC injected sequence register, Address offset: 0x4C.
__IO uint32_t CR
ADC control register, Address offset: 0x08.
__IO uint32_t SMPR1
ADC sample time register 1, Address offset: 0x14.
__IO uint32_t IER
ADC Interrupt Enable Register, Address offset: 0x04.
__IO uint32_t DR
ADC regular data register, Address offset: 0x40.
__IO uint32_t DIFSEL_RES12
ADC Differential Mode Selection Register specific ADC1/2, Address offset: 0xC0.
__IO uint32_t OFR1
ADC offset register 1, Address offset: 0x60.
__IO uint32_t JDR1
ADC injected data register 1, Address offset: 0x80.
__IO uint32_t LTR2_DIFSEL
ADC watchdog Lower threshold register 2, Difsel for ADC3, Address offset: 0xB0.
__IO uint32_t PCSEL_RES0
Reserved for ADC3, ADC1/2 pre-channel selection, Address offset: 0x1C.
__IO uint32_t CALFACT_RES13
ADC Calibration Factors specific ADC1/2, Address offset: 0xC4.
__IO uint32_t ISR
ADC Interrupt and Status Register, Address offset: 0x00.
__IO uint32_t CALFACT2_RES14
ADC Linearity Calibration Factors specific ADC1/2, Address offset: 0xC8.
__IO uint32_t LTR1_TR1
ADC watchdog Lower threshold register 1, Address offset: 0x20.