44#ifndef G32R4xx_DDL_ADC12_H
45#define G32R4xx_DDL_ADC12_H
79#define ADC12_SQR1_REGOFFSET (0x00000000UL)
80#define ADC12_SQR2_REGOFFSET (0x00000100UL)
81#define ADC12_SQR3_REGOFFSET (0x00000200UL)
83#define ADC12_REG_SQRX_REGOFFSET_MASK (ADC12_SQR1_REGOFFSET | ADC12_SQR2_REGOFFSET | ADC12_SQR3_REGOFFSET)
84#define ADC12_SQRX_REGOFFSET_POS (8UL)
85#define ADC12_REG_RANK_ID_SQRX_MASK (0x1F)
89#define ADC12_REG_RANK_1_SQRX_BITOFFSET_POS (ADC_SQR1_SQ1_Pos)
90#define ADC12_REG_RANK_2_SQRX_BITOFFSET_POS (ADC_SQR1_SQ2_Pos)
91#define ADC12_REG_RANK_3_SQRX_BITOFFSET_POS (ADC_SQR1_SQ3_Pos)
92#define ADC12_REG_RANK_4_SQRX_BITOFFSET_POS (ADC_SQR1_SQ4_Pos)
93#define ADC12_REG_RANK_5_SQRX_BITOFFSET_POS (ADC_SQR1_SQ5_Pos)
94#define ADC12_REG_RANK_6_SQRX_BITOFFSET_POS (ADC_SQR1_SQ6_Pos)
95#define ADC12_REG_RANK_7_SQRX_BITOFFSET_POS (ADC_SQR1_SQ7_Pos)
96#define ADC12_REG_RANK_8_SQRX_BITOFFSET_POS (ADC_SQR2_SQ8_Pos)
97#define ADC12_REG_RANK_9_SQRX_BITOFFSET_POS (ADC_SQR2_SQ9_Pos)
98#define ADC12_REG_RANK_10_SQRX_BITOFFSET_POS (ADC_SQR2_SQ10_Pos)
99#define ADC12_REG_RANK_11_SQRX_BITOFFSET_POS (ADC_SQR2_SQ11_Pos)
100#define ADC12_REG_RANK_12_SQRX_BITOFFSET_POS (ADC_SQR2_SQ12_Pos)
101#define ADC12_REG_RANK_13_SQRX_BITOFFSET_POS (ADC_SQR2_SQ13_Pos)
102#define ADC12_REG_RANK_14_SQRX_BITOFFSET_POS (ADC_SQR2_SQ14_Pos)
103#define ADC12_REG_RANK_15_SQRX_BITOFFSET_POS (ADC_SQR3_SQ15_Pos)
104#define ADC12_REG_RANK_16_SQRX_BITOFFSET_POS (ADC_SQR3_SQ16_Pos)
113#define ADC12_JDR1_REGOFFSET (0x00000000UL)
114#define ADC12_JDR2_REGOFFSET (0x00000100UL)
115#define ADC12_JDR3_REGOFFSET (0x00000200UL)
116#define ADC12_JDR4_REGOFFSET (0x00000300UL)
118#define ADC12_INJ_JDRX_REGOFFSET_MASK (ADC12_JDR1_REGOFFSET | ADC12_JDR2_REGOFFSET \
119 | ADC12_JDR3_REGOFFSET | ADC12_JDR4_REGOFFSET)
120#define ADC12_INJ_RANK_ID_JSQR_MASK (0x1F)
121#define ADC12_JDRX_REGOFFSET_POS (8UL)
125#define ADC12_INJ_RANK_1_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ1_Pos)
126#define ADC12_INJ_RANK_3_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ3_Pos)
127#define ADC12_INJ_RANK_2_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ2_Pos)
128#define ADC12_INJ_RANK_4_JSQR_BITOFFSET_POS (ADC_JSQR_JSQ4_Pos)
134#define ADC12_REG_TRIG_EXT_EDGE_DEFAULT (ADC_CFGR_EXTEN_0)
139#define ADC12_REG_TRIG_SOURCE_MASK (((DDL_ADC12_REG_TRIG_SOFTWARE & ADC_CFGR_EXTSEL) << (4U * 0UL)) | \
140 ((ADC_CFGR_EXTSEL) << (4U * 1UL)) | \
141 ((ADC_CFGR_EXTSEL) << (4U * 2UL)) | \
142 ((ADC_CFGR_EXTSEL) << (4U * 3UL)) )
147#define ADC12_REG_TRIG_EDGE_MASK (((DDL_ADC12_REG_TRIG_SOFTWARE & ADC_CFGR_EXTEN) << (4U * 0UL)) | \
148 ((ADC12_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 1UL)) | \
149 ((ADC12_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 2UL)) | \
150 ((ADC12_REG_TRIG_EXT_EDGE_DEFAULT) << (4U * 3UL)) )
153#define ADC12_REG_TRIG_EXTSEL_BITOFFSET_POS (ADC_CFGR_EXTSEL_Pos)
154#define ADC12_REG_TRIG_EXTEN_BITOFFSET_POS (ADC_CFGR_EXTEN_Pos)
160#define ADC12_INJ_TRIG_EXT_EDGE_DEFAULT (ADC_JSQR_JEXTEN_0)
165#define ADC12_INJ_TRIG_SOURCE_MASK (((DDL_ADC12_INJ_TRIG_SOFTWARE & ADC_JSQR_JEXTSEL) << (4U * 0UL)) | \
166 ((ADC_JSQR_JEXTSEL) << (4U * 1UL)) | \
167 ((ADC_JSQR_JEXTSEL) << (4U * 2UL)) | \
168 ((ADC_JSQR_JEXTSEL) << (4U * 3UL)) )
173#define ADC12_INJ_TRIG_EDGE_MASK (((DDL_ADC12_INJ_TRIG_SOFTWARE & ADC_JSQR_JEXTEN) << (4U * 0UL)) | \
174 ((ADC12_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 1UL)) | \
175 ((ADC12_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 2UL)) | \
176 ((ADC12_INJ_TRIG_EXT_EDGE_DEFAULT) << (4U * 3UL)) )
179#define ADC12_INJ_TRIG_EXTSEL_BITOFFSET_POS (ADC_JSQR_JEXTSEL_Pos)
180#define ADC12_INJ_TRIG_EXTEN_BITOFFSET_POS (ADC_JSQR_JEXTEN_Pos)
190#define ADC12_CHANNEL_ID_NUMBER_MASK (ADC_CFGR_AWD1CH)
191#define ADC12_CHANNEL_ID_NUMBER_BITOFFSET_POS (ADC_CFGR_AWD1CH_Pos)
192#define ADC12_CHANNEL_ID_MASK (ADC12_CHANNEL_ID_NUMBER_MASK \
193 | ADC12_CHANNEL_ID_INTERNAL_CH_MASK)
195#define ADC12_CHANNEL_ID_NUMBER_MASK_POSBIT0 (ADC_SQR2_SQ8)
198#define ADC12_CHANNEL_ID_INTERNAL_CH (0x80000000UL)
199#define ADC12_CHANNEL_ID_INTERNAL_CH_2 (0x00080000UL)
200#define ADC12_CHANNEL_ID_INTERNAL_CH_MASK (ADC12_CHANNEL_ID_INTERNAL_CH | ADC12_CHANNEL_ID_INTERNAL_CH_2)
204#define ADC12_SMPR1_REGOFFSET (0x00000000UL)
205#define ADC12_SMPR2_REGOFFSET (0x02000000UL)
206#define ADC12_CHANNEL_SMPRX_REGOFFSET_MASK (ADC12_SMPR1_REGOFFSET | ADC12_SMPR2_REGOFFSET)
207#define ADC12_SMPRX_REGOFFSET_POS (25UL)
209#define ADC12_CHANNEL_SMPx_BITOFFSET_MASK (0x01F00000UL)
210#define ADC12_CHANNEL_SMPx_BITOFFSET_POS (20UL)
214#define ADC12_CHANNEL_0_NUMBER (0x00000000UL)
215#define ADC12_CHANNEL_1_NUMBER (ADC_CFGR_AWD1CH_0)
216#define ADC12_CHANNEL_2_NUMBER (ADC_CFGR_AWD1CH_1)
217#define ADC12_CHANNEL_3_NUMBER (ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
218#define ADC12_CHANNEL_4_NUMBER (ADC_CFGR_AWD1CH_2)
219#define ADC12_CHANNEL_5_NUMBER (ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_0)
220#define ADC12_CHANNEL_6_NUMBER (ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1)
221#define ADC12_CHANNEL_7_NUMBER (ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
222#define ADC12_CHANNEL_8_NUMBER (ADC_CFGR_AWD1CH_3)
223#define ADC12_CHANNEL_9_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_0)
224#define ADC12_CHANNEL_10_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_1)
225#define ADC12_CHANNEL_11_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
226#define ADC12_CHANNEL_12_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2)
227#define ADC12_CHANNEL_13_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_0)
228#define ADC12_CHANNEL_14_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1)
229#define ADC12_CHANNEL_15_NUMBER (ADC_CFGR_AWD1CH_3 | ADC_CFGR_AWD1CH_2 | ADC_CFGR_AWD1CH_1 | ADC_CFGR_AWD1CH_0)
233#define ADC12_CHANNEL_0_SMP (ADC12_SMPR1_REGOFFSET | (( 0UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
234#define ADC12_CHANNEL_1_SMP (ADC12_SMPR1_REGOFFSET | (( 4UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
235#define ADC12_CHANNEL_2_SMP (ADC12_SMPR1_REGOFFSET | (( 8UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
236#define ADC12_CHANNEL_3_SMP (ADC12_SMPR1_REGOFFSET | ((12UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
237#define ADC12_CHANNEL_4_SMP (ADC12_SMPR1_REGOFFSET | ((16UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
238#define ADC12_CHANNEL_5_SMP (ADC12_SMPR1_REGOFFSET | ((20UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
239#define ADC12_CHANNEL_6_SMP (ADC12_SMPR1_REGOFFSET | ((24UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
240#define ADC12_CHANNEL_7_SMP (ADC12_SMPR1_REGOFFSET | ((28UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
241#define ADC12_CHANNEL_8_SMP (ADC12_SMPR2_REGOFFSET | (( 0UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
242#define ADC12_CHANNEL_9_SMP (ADC12_SMPR2_REGOFFSET | (( 4UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
243#define ADC12_CHANNEL_10_SMP (ADC12_SMPR2_REGOFFSET | (( 8UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
244#define ADC12_CHANNEL_11_SMP (ADC12_SMPR2_REGOFFSET | ((12UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
245#define ADC12_CHANNEL_12_SMP (ADC12_SMPR2_REGOFFSET | ((16UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
246#define ADC12_CHANNEL_13_SMP (ADC12_SMPR2_REGOFFSET | ((20UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
247#define ADC12_CHANNEL_14_SMP (ADC12_SMPR2_REGOFFSET | ((24UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
248#define ADC12_CHANNEL_15_SMP (ADC12_SMPR2_REGOFFSET | ((28UL) << ADC12_CHANNEL_SMPx_BITOFFSET_POS))
258#define ADC12_AWD_CR1_REGOFFSET (0x00000000UL)
259#define ADC12_AWD_CR2_REGOFFSET (0x00100000UL)
260#define ADC12_AWD_CR3_REGOFFSET (0x00200000UL)
264#define ADC12_AWD_CR12_REGOFFSETGAP_MASK (ADC_AWD2CR_AWD2CH_0)
265#define ADC12_AWD_CR12_REGOFFSETGAP_VAL (0x00000010UL)
267#define ADC12_AWD_CRX_REGOFFSET_MASK (ADC12_AWD_CR1_REGOFFSET | ADC12_AWD_CR2_REGOFFSET | ADC12_AWD_CR3_REGOFFSET)
269#define ADC12_AWD_CR1_CHANNEL_MASK (ADC_CFGR_AWD1CH | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
270#define ADC12_AWD_CR23_CHANNEL_MASK (ADC_AWD2CR_AWD2CH)
271#define ADC12_AWD_CR_ALL_CHANNEL_MASK (ADC12_AWD_CR1_CHANNEL_MASK | ADC12_AWD_CR23_CHANNEL_MASK)
273#define ADC12_AWD_CRX_REGOFFSET_POS (20UL)
276#define ADC12_AWD_TR1_REGOFFSET (ADC12_AWD_CR1_REGOFFSET)
277#define ADC12_AWD_TR2_REGOFFSET (ADC12_AWD_CR2_REGOFFSET)
278#define ADC12_AWD_TR3_REGOFFSET (ADC12_AWD_CR3_REGOFFSET)
279#define ADC12_AWD_TRX_REGOFFSET_MASK (ADC12_AWD_TR1_REGOFFSET | ADC12_AWD_TR2_REGOFFSET | ADC12_AWD_TR3_REGOFFSET)
280#define ADC12_AWD_TRX_REGOFFSET_POS (ADC12_AWD_CRX_REGOFFSET_POS)
281#define ADC12_AWD_TRX_BIT_HIGH_MASK (0x00010000UL)
282#define ADC12_AWD_TRX_BIT_HIGH_POS (16UL)
283#define ADC12_AWD_TRX_BIT_HIGH_SHIFT4 (ADC12_AWD_TRX_BIT_HIGH_POS - 4UL)
287#define ADC12_OFR0_REGOFFSET (0x00000000UL)
288#define ADC12_OFR1_REGOFFSET (0x00000001UL)
289#define ADC12_OFR2_REGOFFSET (0x00000002UL)
290#define ADC12_OFR3_REGOFFSET (0x00000003UL)
291#define ADC12_OFRx_REGOFFSET_MASK (ADC12_OFR0_REGOFFSET | ADC12_OFR1_REGOFFSET \
292 | ADC12_OFR2_REGOFFSET | ADC12_OFR3_REGOFFSET)
295#define ADC12_CFGR_AWD1SGL_BITOFFSET_POS (ADC_CFGR_AWD1SGL_Pos)
296#define ADC12_CFGR_AWD1EN_BITOFFSET_POS (ADC_CFGR_AWD1EN_Pos)
297#define ADC12_CFGR_JAWD1EN_BITOFFSET_POS (ADC_CFGR_JAWD1EN_Pos)
298#define ADC12_TR1_HT1_BITOFFSET_POS (ADC_TR1_HT1_Pos)
301#define ADC12_CR_BITS_PROPERTY_RS (ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)
307#define DDL_ADC12_REG_TRIG_SOFTWARE (0x00000000UL)
308#define DDL_ADC12_REG_TRIG_EXT_TMR1_CC1 (ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
309#define DDL_ADC12_REG_TRIG_EXT_TMR1_CC2 (ADC_CFGR_EXTSEL_0 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
310#define DDL_ADC12_REG_TRIG_EXT_TMR1_CC3 (ADC_CFGR_EXTSEL_1 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
311#define DDL_ADC12_REG_TRIG_EXT_TMR2_CC2 (ADC_CFGR_EXTSEL_1 | ADC_CFGR_EXTSEL_0 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
312#define DDL_ADC12_REG_TRIG_EXT_TMR3_TRGO (ADC_CFGR_EXTSEL_2 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
313#define DDL_ADC12_REG_TRIG_EXT_TMR4_CC4 (ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_0 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
314#define DDL_ADC12_REG_TRIG_EXT_EINT_LINE11 (ADC_CFGR_EXTSEL_2 | ADC_CFGR_EXTSEL_1 | ADC12_REG_TRIG_EXT_EDGE_DEFAULT)
322#define DDL_ADC12_REG_TRIG_EXT_RISING (ADC_CFGR_EXTEN_0)
323#define DDL_ADC12_REG_TRIG_EXT_DISABLE (0x00000000UL)
331#define DDL_ADC12_REG_SEQ_SCAN_DISABLE (0x00000000UL)
332#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_2RANKS ( ADC_SQR1_RL_0)
333#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_3RANKS ( ADC_SQR1_RL_1 )
334#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_4RANKS ( ADC_SQR1_RL_1 | ADC_SQR1_RL_0)
335#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_5RANKS ( ADC_SQR1_RL_2 )
336#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_6RANKS ( ADC_SQR1_RL_2 | ADC_SQR1_RL_0)
337#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_7RANKS ( ADC_SQR1_RL_2 | ADC_SQR1_RL_1 )
338#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_8RANKS ( ADC_SQR1_RL_2 | ADC_SQR1_RL_1 | ADC_SQR1_RL_0)
339#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_9RANKS (ADC_SQR1_RL_3 )
340#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_10RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_0)
341#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_11RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_1 )
342#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_12RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_1 | ADC_SQR1_RL_0)
343#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_13RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_2 )
344#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_14RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_2 | ADC_SQR1_RL_0)
345#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_15RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_2 | ADC_SQR1_RL_1)
346#define DDL_ADC12_REG_SEQ_SCAN_ENABLE_16RANKS (ADC_SQR1_RL_3 | ADC_SQR1_RL_2 | ADC_SQR1_RL_1 | ADC_SQR1_RL_0)
354#define DDL_ADC12_REG_SEQ_DISCONT_DISABLE (0x00000000UL)
355#define DDL_ADC12_REG_SEQ_DISCONT_1RANK ( ADC_CFGR_DISCEN)
356#define DDL_ADC12_REG_SEQ_DISCONT_2RANKS ( ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
357#define DDL_ADC12_REG_SEQ_DISCONT_3RANKS ( ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCEN)
358#define DDL_ADC12_REG_SEQ_DISCONT_4RANKS ( ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
359#define DDL_ADC12_REG_SEQ_DISCONT_5RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCEN)
360#define DDL_ADC12_REG_SEQ_DISCONT_6RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
361#define DDL_ADC12_REG_SEQ_DISCONT_7RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCEN)
362#define DDL_ADC12_REG_SEQ_DISCONT_8RANKS (ADC_CFGR_DISCNUM_2 | ADC_CFGR_DISCNUM_1 | ADC_CFGR_DISCNUM_0 | ADC_CFGR_DISCEN)
370#define DDL_ADC12_REG_RANK_1 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_1_SQRX_BITOFFSET_POS)
371#define DDL_ADC12_REG_RANK_2 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_2_SQRX_BITOFFSET_POS)
372#define DDL_ADC12_REG_RANK_3 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_3_SQRX_BITOFFSET_POS)
373#define DDL_ADC12_REG_RANK_4 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_4_SQRX_BITOFFSET_POS)
374#define DDL_ADC12_REG_RANK_5 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_5_SQRX_BITOFFSET_POS)
375#define DDL_ADC12_REG_RANK_6 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_6_SQRX_BITOFFSET_POS)
376#define DDL_ADC12_REG_RANK_7 (ADC12_SQR1_REGOFFSET | ADC12_REG_RANK_7_SQRX_BITOFFSET_POS)
377#define DDL_ADC12_REG_RANK_8 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_8_SQRX_BITOFFSET_POS)
378#define DDL_ADC12_REG_RANK_9 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_9_SQRX_BITOFFSET_POS)
379#define DDL_ADC12_REG_RANK_10 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_10_SQRX_BITOFFSET_POS)
380#define DDL_ADC12_REG_RANK_11 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_11_SQRX_BITOFFSET_POS)
381#define DDL_ADC12_REG_RANK_12 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_12_SQRX_BITOFFSET_POS)
382#define DDL_ADC12_REG_RANK_13 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_13_SQRX_BITOFFSET_POS)
383#define DDL_ADC12_REG_RANK_14 (ADC12_SQR2_REGOFFSET | ADC12_REG_RANK_14_SQRX_BITOFFSET_POS)
384#define DDL_ADC12_REG_RANK_15 (ADC12_SQR3_REGOFFSET | ADC12_REG_RANK_15_SQRX_BITOFFSET_POS)
385#define DDL_ADC12_REG_RANK_16 (ADC12_SQR3_REGOFFSET | ADC12_REG_RANK_16_SQRX_BITOFFSET_POS)
393#define DDL_ADC12_INJ_SEQ_SCAN_DISABLE (0x00000000UL)
394#define DDL_ADC12_INJ_SEQ_SCAN_ENABLE_2RANKS ( ADC_JSQR_JL_0)
395#define DDL_ADC12_INJ_SEQ_SCAN_ENABLE_3RANKS (ADC_JSQR_JL_1 )
396#define DDL_ADC12_INJ_SEQ_SCAN_ENABLE_4RANKS (ADC_JSQR_JL_1 | ADC_JSQR_JL_0)
404#define DDL_ADC12_INJ_SEQ_DISCONT_DISABLE (0x00000000UL)
405#define DDL_ADC12_INJ_SEQ_DISCONT_1RANK (ADC_CFGR_JDISCEN)
411#if defined(USE_FULL_DDL_DRIVER)
521#define DDL_ADC12_DMA_REG_REGULAR_DATA (0x00000000UL)
529#define DDL_ADC12_JOFFSET_1 ADC12_OFR0_REGOFFSET
530#define DDL_ADC12_JOFFSET_2 ADC12_OFR1_REGOFFSET
531#define DDL_ADC12_JOFFSET_3 ADC12_OFR2_REGOFFSET
532#define DDL_ADC12_JOFFSET_4 ADC12_OFR3_REGOFFSET
540#define DDL_ADC12_CHANNEL_0 (ADC12_CHANNEL_0_NUMBER | ADC12_CHANNEL_0_SMP)
541#define DDL_ADC12_CHANNEL_1 (ADC12_CHANNEL_1_NUMBER | ADC12_CHANNEL_1_SMP)
542#define DDL_ADC12_CHANNEL_2 (ADC12_CHANNEL_2_NUMBER | ADC12_CHANNEL_2_SMP)
543#define DDL_ADC12_CHANNEL_3 (ADC12_CHANNEL_3_NUMBER | ADC12_CHANNEL_3_SMP)
544#define DDL_ADC12_CHANNEL_4 (ADC12_CHANNEL_4_NUMBER | ADC12_CHANNEL_4_SMP)
545#define DDL_ADC12_CHANNEL_5 (ADC12_CHANNEL_5_NUMBER | ADC12_CHANNEL_5_SMP)
546#define DDL_ADC12_CHANNEL_6 (ADC12_CHANNEL_6_NUMBER | ADC12_CHANNEL_6_SMP)
547#define DDL_ADC12_CHANNEL_7 (ADC12_CHANNEL_7_NUMBER | ADC12_CHANNEL_7_SMP)
548#define DDL_ADC12_CHANNEL_8 (ADC12_CHANNEL_8_NUMBER | ADC12_CHANNEL_8_SMP)
549#define DDL_ADC12_CHANNEL_9 (ADC12_CHANNEL_9_NUMBER | ADC12_CHANNEL_9_SMP)
550#define DDL_ADC12_CHANNEL_10 (ADC12_CHANNEL_10_NUMBER | ADC12_CHANNEL_10_SMP)
551#define DDL_ADC12_CHANNEL_11 (ADC12_CHANNEL_11_NUMBER | ADC12_CHANNEL_11_SMP)
552#define DDL_ADC12_CHANNEL_12 (ADC12_CHANNEL_12_NUMBER | ADC12_CHANNEL_12_SMP)
553#define DDL_ADC12_CHANNEL_13 (ADC12_CHANNEL_13_NUMBER | ADC12_CHANNEL_13_SMP)
554#define DDL_ADC12_CHANNEL_14 (ADC12_CHANNEL_14_NUMBER | ADC12_CHANNEL_14_SMP)
555#define DDL_ADC12_CHANNEL_15 (ADC12_CHANNEL_15_NUMBER | ADC12_CHANNEL_15_SMP)
563#define DDL_ADC12_REG_CONV_SINGLE (0x00000000UL)
564#define DDL_ADC12_REG_CONV_CONTINUOUS (ADC_CFGR_CONT)
572#define DDL_ADC12_REG_DMA_TRANSFER_DISABLE (0x00000000UL)
573#define DDL_ADC12_REG_DMA_TRANSFER_ENABLE ( ADC_CFGR_DMAEN)
581#define DDL_ADC12_INJ_TRIG_SOFTWARE (0x00000000UL)
582#define DDL_ADC12_INJ_TRIG_EXT_TMR1_TRGO (ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
583#define DDL_ADC12_INJ_TRIG_EXT_TMR1_CC4 (ADC_JSQR_JEXTSEL_0 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
584#define DDL_ADC12_INJ_TRIG_EXT_TMR2_TRGO (ADC_JSQR_JEXTSEL_1 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
585#define DDL_ADC12_INJ_TRIG_EXT_TMR2_CC1 (ADC_JSQR_JEXTSEL_1 | ADC_JSQR_JEXTSEL_0 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
586#define DDL_ADC12_INJ_TRIG_EXT_TMR3_CC4 (ADC_JSQR_JEXTSEL_2 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
587#define DDL_ADC12_INJ_TRIG_EXT_TMR4_TRGO (ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_0 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
588#define DDL_ADC12_INJ_TRIG_EXT_EINT_LINE15 (ADC_JSQR_JEXTSEL_2 | ADC_JSQR_JEXTSEL_1 | ADC12_INJ_TRIG_EXT_EDGE_DEFAULT)
596#define DDL_ADC12_INJ_TRIG_EXT_RISING ( ADC_JSQR_JEXTEN_0)
597#define DDL_ADC12_INJ_TRIG_EXT_DISABLE (0x00000000UL)
605#define DDL_ADC12_INJ_RANK_1 (ADC12_JDR1_REGOFFSET | ADC12_INJ_RANK_1_JSQR_BITOFFSET_POS)
606#define DDL_ADC12_INJ_RANK_2 (ADC12_JDR2_REGOFFSET | ADC12_INJ_RANK_2_JSQR_BITOFFSET_POS)
607#define DDL_ADC12_INJ_RANK_3 (ADC12_JDR3_REGOFFSET | ADC12_INJ_RANK_3_JSQR_BITOFFSET_POS)
608#define DDL_ADC12_INJ_RANK_4 (ADC12_JDR4_REGOFFSET | ADC12_INJ_RANK_4_JSQR_BITOFFSET_POS)
616#define DDL_ADC12_INJ_TRIG_INDEPENDENT (0x00000000UL)
617#define DDL_ADC12_INJ_TRIG_FROM_GRP_REGULAR (ADC_CFGR_JAUTO)
625#define DDL_ADC12_SAMPLINGTIME_7CYCLES (0x00000000)
626#define DDL_ADC12_SAMPLINGTIME_16CYCLES (ADC_SMPR1_SMP0_0)
627#define DDL_ADC12_SAMPLINGTIME_27CYCLES (ADC_SMPR1_SMP0_1)
628#define DDL_ADC12_SAMPLINGTIME_32CYCLES (ADC_SMPR1_SMP0_1 | ADC_SMPR1_SMP0_0)
629#define DDL_ADC12_SAMPLINGTIME_67CYCLES (ADC_SMPR1_SMP0_2)
630#define DDL_ADC12_SAMPLINGTIME_96CYCLES (ADC_SMPR1_SMP0_2 | ADC_SMPR1_SMP0_0)
631#define DDL_ADC12_SAMPLINGTIME_128CYCLES (ADC_SMPR1_SMP0_2 | ADC_SMPR1_SMP0_1)
632#define DDL_ADC12_SAMPLINGTIME_256CYCLES (ADC_SMPR1_SMP0_2 | ADC_SMPR1_SMP0_1 | ADC_SMPR1_SMP0_0)
641#define DDL_ADC12_AWD1 (ADC12_AWD_CR1_CHANNEL_MASK | ADC12_AWD_CR1_REGOFFSET)
649#define DDL_ADC12_AWD_DISABLE (0x00000000UL)
650#define DDL_ADC12_AWD_ALL_CHANNELS_REG (ADC_CFGR_AWD1EN )
651#define DDL_ADC12_AWD_ALL_CHANNELS_INJ (ADC_CFGR_JAWD1EN )
652#define DDL_ADC12_AWD_ALL_CHANNELS_REG_INJ (ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN )
653#define DDL_ADC12_AWD_CHANNEL_0_REG ((DDL_ADC12_CHANNEL_0 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
654#define DDL_ADC12_AWD_CHANNEL_0_INJ ((DDL_ADC12_CHANNEL_0 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
655#define DDL_ADC12_AWD_CHANNEL_0_REG_INJ ((DDL_ADC12_CHANNEL_0 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
656#define DDL_ADC12_AWD_CHANNEL_1_REG ((DDL_ADC12_CHANNEL_1 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
657#define DDL_ADC12_AWD_CHANNEL_1_INJ ((DDL_ADC12_CHANNEL_1 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
658#define DDL_ADC12_AWD_CHANNEL_1_REG_INJ ((DDL_ADC12_CHANNEL_1 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
659#define DDL_ADC12_AWD_CHANNEL_2_REG ((DDL_ADC12_CHANNEL_2 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
660#define DDL_ADC12_AWD_CHANNEL_2_INJ ((DDL_ADC12_CHANNEL_2 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
661#define DDL_ADC12_AWD_CHANNEL_2_REG_INJ ((DDL_ADC12_CHANNEL_2 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
662#define DDL_ADC12_AWD_CHANNEL_3_REG ((DDL_ADC12_CHANNEL_3 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
663#define DDL_ADC12_AWD_CHANNEL_3_INJ ((DDL_ADC12_CHANNEL_3 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
664#define DDL_ADC12_AWD_CHANNEL_3_REG_INJ ((DDL_ADC12_CHANNEL_3 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
665#define DDL_ADC12_AWD_CHANNEL_4_REG ((DDL_ADC12_CHANNEL_4 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
666#define DDL_ADC12_AWD_CHANNEL_4_INJ ((DDL_ADC12_CHANNEL_4 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
667#define DDL_ADC12_AWD_CHANNEL_4_REG_INJ ((DDL_ADC12_CHANNEL_4 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
668#define DDL_ADC12_AWD_CHANNEL_5_REG ((DDL_ADC12_CHANNEL_5 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
669#define DDL_ADC12_AWD_CHANNEL_5_INJ ((DDL_ADC12_CHANNEL_5 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
670#define DDL_ADC12_AWD_CHANNEL_5_REG_INJ ((DDL_ADC12_CHANNEL_5 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
671#define DDL_ADC12_AWD_CHANNEL_6_REG ((DDL_ADC12_CHANNEL_6 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
672#define DDL_ADC12_AWD_CHANNEL_6_INJ ((DDL_ADC12_CHANNEL_6 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
673#define DDL_ADC12_AWD_CHANNEL_6_REG_INJ ((DDL_ADC12_CHANNEL_6 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
674#define DDL_ADC12_AWD_CHANNEL_7_REG ((DDL_ADC12_CHANNEL_7 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
675#define DDL_ADC12_AWD_CHANNEL_7_INJ ((DDL_ADC12_CHANNEL_7 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
676#define DDL_ADC12_AWD_CHANNEL_7_REG_INJ ((DDL_ADC12_CHANNEL_7 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
677#define DDL_ADC12_AWD_CHANNEL_8_REG ((DDL_ADC12_CHANNEL_8 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
678#define DDL_ADC12_AWD_CHANNEL_8_INJ ((DDL_ADC12_CHANNEL_8 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
679#define DDL_ADC12_AWD_CHANNEL_8_REG_INJ ((DDL_ADC12_CHANNEL_8 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
680#define DDL_ADC12_AWD_CHANNEL_9_REG ((DDL_ADC12_CHANNEL_9 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
681#define DDL_ADC12_AWD_CHANNEL_9_INJ ((DDL_ADC12_CHANNEL_9 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
682#define DDL_ADC12_AWD_CHANNEL_9_REG_INJ ((DDL_ADC12_CHANNEL_9 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
683#define DDL_ADC12_AWD_CHANNEL_10_REG ((DDL_ADC12_CHANNEL_10 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
684#define DDL_ADC12_AWD_CHANNEL_10_INJ ((DDL_ADC12_CHANNEL_10 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
685#define DDL_ADC12_AWD_CHANNEL_10_REG_INJ ((DDL_ADC12_CHANNEL_10 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
686#define DDL_ADC12_AWD_CHANNEL_11_REG ((DDL_ADC12_CHANNEL_11 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
687#define DDL_ADC12_AWD_CHANNEL_11_INJ ((DDL_ADC12_CHANNEL_11 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
688#define DDL_ADC12_AWD_CHANNEL_11_REG_INJ ((DDL_ADC12_CHANNEL_11 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
689#define DDL_ADC12_AWD_CHANNEL_12_REG ((DDL_ADC12_CHANNEL_12 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
690#define DDL_ADC12_AWD_CHANNEL_12_INJ ((DDL_ADC12_CHANNEL_12 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
691#define DDL_ADC12_AWD_CHANNEL_12_REG_INJ ((DDL_ADC12_CHANNEL_12 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
692#define DDL_ADC12_AWD_CHANNEL_13_REG ((DDL_ADC12_CHANNEL_13 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
693#define DDL_ADC12_AWD_CHANNEL_13_INJ ((DDL_ADC12_CHANNEL_13 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)
694#define DDL_ADC12_AWD_CHANNEL_13_REG_INJ ((DDL_ADC12_CHANNEL_13 & ADC12_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)
702#define DDL_ADC12_AWD_THRESHOLD_HIGH (ADC_TR1_HT1 )
703#define DDL_ADC12_AWD_THRESHOLD_LOW ( ADC_TR1_LT1)
704#define DDL_ADC12_AWD_THRESHOLDS_HIGH_LOW (ADC_TR1_HT1 | ADC_TR1_LT1)
713#define DDL_ADC12_FLAG_EOC ADC_ISR_EOC
714#define DDL_ADC12_FLAG_EOS ADC_ISR_EOS
715#define DDL_ADC12_FLAG_JEOC ADC_ISR_JEOC
716#define DDL_ADC12_FLAG_JEOS ADC_ISR_JEOS
717#define DDL_ADC12_FLAG_AWD1 ADC_ISR_AWD1
726#define DDL_ADC12_IT_EOC ADC_IER_EOCIE
727#define DDL_ADC12_IT_EOS ADC_IER_EOSIE
728#define DDL_ADC12_IT_JEOC ADC_IER_JEOCIE
729#define DDL_ADC12_IT_JEOS ADC_IER_JEOSIE
730#define DDL_ADC12_IT_AWD1 ADC_IER_AWD1IE
739#define DDL_ADC12_ALIGNMENT_LEFT ADC_CFGR_ALIGN
740#define DDL_ADC12_ALIGNMENT_RIGHT (0x00000000UL)
762#define __ADC12_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__) \
763 ((__IO uint32_t *)((uint32_t) ((uint32_t)(&(__REG__)) + ((__REG_OFFFSET__) << 2UL))))
793#define __DDL_ADC12_CHANNEL_TO_DECIMAL_NB(__CHANNEL__) ((uint32_t)((__CHANNEL__ & ADC_CFGR_AWD1CH_Msk) >> ADC_CFGR_AWD1CH_Pos))
843 return (uint32_t) &(ADCx->DR);
881 ADC_JOFFSET1_JOFFSET1,
901 return (uint32_t)READ_BIT(*preg, ADC_JOFFSET1_JOFFSET1);
931 MODIFY_REG(ADCx->CFGR, ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL, TriggerSource);
953 return (uint32_t)READ_BIT(ADCx->CFGR, ADC_CFGR_EXTEN | ADC_CFGR_EXTSEL);
982 MODIFY_REG(ADCx->CFGR, ADC_CFGR_EXTEN, ExternalTriggerEdge);
995 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_EXTEN));
1052 MODIFY_REG(ADCx->SQR1, ADC_SQR1_RL, SequencerNbRanks);
1105 return (uint32_t)(READ_BIT(ADCx->SQR1, ADC_SQR1_RL));
1131 MODIFY_REG(ADCx->CFGR, ADC_CFGR_DISCEN | ADC_CFGR_DISCNUM, SeqDiscont);
1152 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_DISCEN | ADC_CFGR_DISCNUM));
1268 return (uint32_t)((READ_BIT(*preg,
1293 MODIFY_REG(ADCx->CFGR, ADC_CFGR_CONT, Continuous);
1309 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_CONT));
1345 MODIFY_REG(ADCx->CFGR, ADC_CFGR_DMAEN, DMATransfer);
1377 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_DMAEN));
1411 MODIFY_REG(ADCx->JSQR, ADC_JSQR_JEXTSEL | ADC_JSQR_JEXTEN, TriggerSource);
1434 return (uint32_t)READ_BIT(ADCx->JSQR, ADC_JSQR_JEXTSEL | ADC_JSQR_JEXTEN);
1462 MODIFY_REG(ADCx->JSQR, ADC_JSQR_JEXTEN, ExternalTriggerEdge);
1475 return (uint32_t)(READ_BIT(ADCx->JSQR, ADC_JSQR_JEXTEN));
1499 MODIFY_REG(ADCx->JSQR, ADC_JSQR_JL, SequencerNbRanks);
1519 return (uint32_t)(READ_BIT(ADCx->JSQR, ADC_JSQR_JL));
1536 MODIFY_REG(ADCx->CFGR, ADC_CFGR_JDISCEN, SeqDiscont);
1550 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_JDISCEN));
1590 MODIFY_REG(ADCx->JSQR,
1626 return (uint32_t)((READ_BIT(ADCx->JSQR,
1662 MODIFY_REG(ADCx->CFGR, ADC_CFGR_JAUTO, TrigAuto);
1675 return (uint32_t)(READ_BIT(ADCx->CFGR, ADC_CFGR_JAUTO));
1788 uint32_t TriggerSource,
1789 uint32_t ExternalTriggerEdge,
1790 uint32_t SequencerNbRanks,
1791 uint32_t Rank1_Channel,
1792 uint32_t Rank2_Channel,
1793 uint32_t Rank3_Channel,
1794 uint32_t Rank4_Channel)
1803 MODIFY_REG(ADCx->JSQR,
1811 (TriggerSource & ADC_JSQR_JEXTSEL) |
1812 (ExternalTriggerEdge * (is_trigger_not_sw)) |
1923 return (uint32_t)(READ_BIT(*preg,
2021 AWDChannelGroup & AWDy);
2117 return AnalogWDMonitChannels;
2149 uint32_t AWDThresholdLowValue)
2159 ADC_TR1_HT1 | ADC_TR1_LT1,
2196 uint32_t AWDThresholdValue)
2207 AWDThresholdsHighLow,
2233 return (uint32_t)(READ_BIT(*preg,
2234 (AWDThresholdsHighLow | ADC_TR1_LT1))
2236 & ~(AWDThresholdsHighLow & ADC_TR1_LT1)));
2256 MODIFY_REG(ADCx->CR,
2271 MODIFY_REG(ADCx->CR,
2283 return ((READ_BIT(ADCx->CR, ADC_CR_ADEN) == (ADC_CR_ADEN)) ? 1UL : 0UL);
2296 MODIFY_REG(ADCx->CFGR,
2310 return (uint32_t)READ_BIT(ADCx->CFGR, ADC_CFGR_ALIGN);
2330 MODIFY_REG(ADCx->CR,
2345 MODIFY_REG(ADCx->CR,
2357 return ((READ_BIT(ADCx->CR, ADC_CR_ADSTART) == (ADC_CR_ADSTART)) ? 1UL : 0UL);
2367 return ((READ_BIT(ADCx->CR, ADC_CR_ADSTP) == (ADC_CR_ADSTP)) ? 1UL : 0UL);
2380 return (uint32_t)(READ_BIT(ADCx->DR, ADC_DR_RDATA | ADC_DR_ADC2RDATA));
2401 MODIFY_REG(ADCx->CR,
2416 MODIFY_REG(ADCx->CR,
2428 return ((READ_BIT(ADCx->CR, ADC_CR_JADSTART) == (ADC_CR_JADSTART)) ? 1UL : 0UL);
2438 return ((READ_BIT(ADCx->CR, ADC_CR_JADSTP) == (ADC_CR_JADSTP)) ? 1UL : 0UL);
2458 return (uint32_t)(READ_BIT(*preg,
2738#if defined(USE_FULL_DDL_DRIVER)
#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_RANK_4
#define DDL_ADC12_INJ_RANK_3
#define DDL_ADC12_INJ_RANK_1
#define DDL_ADC12_INJ_RANK_2
#define DDL_ADC12_INJ_TRIG_SOFTWARE
#define DDL_ADC12_IT_JEOS
#define DDL_ADC12_IT_AWD1
#define DDL_ADC12_IT_JEOC
#define DDL_ADC12_REG_TRIG_SOFTWARE
__STATIC_INLINE void DDL_ADC12_SetAnalogWDMonitChannels(ADC12_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDChannelGroup)
Set ADC analog watchdog monitored channels: a single channel, multiple channels or all channels,...
__STATIC_INLINE void DDL_ADC12_SetAnalogWDThresholds(ADC12_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdsHighLow, uint32_t AWDThresholdValue)
Set ADC analog watchdog threshold value of threshold high or low.
__STATIC_INLINE uint32_t DDL_ADC12_GetAnalogWDMonitChannels(ADC12_TypeDef *ADCx, uint32_t AWDy)
Get ADC analog watchdog monitored channel.
__STATIC_INLINE uint32_t DDL_ADC12_GetAnalogWDThresholds(ADC12_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdsHighLow)
Get ADC analog watchdog threshold value of threshold high, threshold low or raw data with ADC thresho...
__STATIC_INLINE void DDL_ADC12_ConfigAnalogWDThresholds(ADC12_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdHighValue, uint32_t AWDThresholdLowValue)
Set ADC analog watchdog thresholds value of both thresholds high and low.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetTrigAuto(ADC12_TypeDef *ADCx)
Get ADC group injected conversion trigger: independent or from ADC group regular.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetSequencerLength(ADC12_TypeDef *ADCx)
Get ADC group injected sequencer length and scan direction.
__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_INJ_SetTriggerEdge(ADC12_TypeDef *ADCx, uint32_t ExternalTriggerEdge)
Set ADC group injected conversion trigger polarity. Applicable only for trigger source set to externa...
__STATIC_INLINE void DDL_ADC12_INJ_SetTrigAuto(ADC12_TypeDef *ADCx, uint32_t TrigAuto)
Set ADC group injected conversion trigger: independent or from ADC group regular.
__STATIC_INLINE void DDL_ADC12_INJ_SetSequencerLength(ADC12_TypeDef *ADCx, uint32_t SequencerNbRanks)
Set ADC group injected sequencer length and scan direction.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetSequencerDiscont(ADC12_TypeDef *ADCx)
Get ADC group injected sequencer discontinuous mode: sequence subdivided and scan conversions interru...
__STATIC_INLINE uint32_t DDL_ADC12_INJ_IsTriggerSourceSWStart(ADC12_TypeDef *ADCx)
Get ADC group injected conversion trigger source internal (SW start) or external.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetTriggerEdge(ADC12_TypeDef *ADCx)
Get ADC group injected conversion trigger polarity. Applicable only for trigger source set to externa...
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetTriggerSource(ADC12_TypeDef *ADCx)
Get ADC group injected conversion trigger source: internal (SW start) or from external peripheral (ti...
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetSequencerRanks(ADC12_TypeDef *ADCx, uint32_t Rank)
Get ADC group injected sequence: channel on the selected sequence rank.
__STATIC_INLINE void DDL_ADC12_INJ_SetSequencerRanks(ADC12_TypeDef *ADCx, uint32_t Rank, uint32_t Channel)
Set ADC group injected sequence: channel on the selected sequence rank.
__STATIC_INLINE void DDL_ADC12_INJ_SetSequencerDiscont(ADC12_TypeDef *ADCx, uint32_t SeqDiscont)
Set ADC group injected sequencer discontinuous mode: sequence subdivided and scan conversions interru...
__STATIC_INLINE void DDL_ADC12_INJ_ConfigQueueContext(ADC12_TypeDef *ADCx, uint32_t TriggerSource, uint32_t ExternalTriggerEdge, uint32_t SequencerNbRanks, uint32_t Rank1_Channel, uint32_t Rank2_Channel, uint32_t Rank3_Channel, uint32_t Rank4_Channel)
Set one context on ADC group injected that will be checked in contexts queue.
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetSequencerRanks(ADC12_TypeDef *ADCx, uint32_t Rank)
Get ADC group regular sequence: channel on the selected scan sequence rank. Refer to description of f...
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetDMATransfer(ADC12_TypeDef *ADCx)
Get ADC group regular conversion data transfer: no transfer or transfer by DMA, and DMA requests mode...
__STATIC_INLINE void DDL_ADC12_REG_SetTriggerEdge(ADC12_TypeDef *ADCx, uint32_t ExternalTriggerEdge)
Set ADC group regular conversion trigger polarity.
__STATIC_INLINE void DDL_ADC12_REG_SetSequencerDiscont(ADC12_TypeDef *ADCx, uint32_t SeqDiscont)
Set ADC group regular sequencer discontinuous mode: sequence subdivided and scan conversions interrup...
__STATIC_INLINE void DDL_ADC12_REG_SetContinuousMode(ADC12_TypeDef *ADCx, uint32_t Continuous)
Set ADC continuous conversion mode on ADC group regular.
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetTriggerSource(ADC12_TypeDef *ADCx)
Get ADC group regular conversion trigger source: internal (SW start) or from external peripheral (tim...
__STATIC_INLINE void DDL_ADC12_REG_SetSequencerRanks(ADC12_TypeDef *ADCx, uint32_t Rank, uint32_t Channel)
Set ADC group regular sequence: channel on the selected scan sequence rank.
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetTriggerEdge(ADC12_TypeDef *ADCx)
Get ADC group regular conversion trigger polarity.
__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...
__STATIC_INLINE uint32_t DDL_ADC12_REG_IsTriggerSourceSWStart(ADC12_TypeDef *ADCx)
Get ADC group regular conversion trigger source internal (SW start) or external.
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetContinuousMode(ADC12_TypeDef *ADCx)
Get ADC continuous conversion mode on ADC group regular.
__STATIC_INLINE void DDL_ADC12_REG_SetDMATransfer(ADC12_TypeDef *ADCx, uint32_t DMATransfer)
Set ADC group regular conversion data transfer: no transfer or transfer by DMA, and DMA requests mode...
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetSequencerLength(ADC12_TypeDef *ADCx)
Get ADC group regular sequencer length and scan direction.
__STATIC_INLINE uint32_t DDL_ADC12_REG_GetSequencerDiscont(ADC12_TypeDef *ADCx)
Get ADC group regular sequencer discontinuous mode: sequence subdivided and scan conversions interrup...
__STATIC_INLINE void DDL_ADC12_INJ_SetOffset(ADC12_TypeDef *ADCx, uint32_t Offsety, uint32_t OffsetLevel)
Set ADC selected offset number 1, 2, 3 or 4.
__STATIC_INLINE uint32_t DDL_ADC12_INJ_GetOffset(ADC12_TypeDef *ADCx, uint32_t Offsety)
Get for the ADC selected offset number 1, 2, 3 or 4: Offset level (offset to be subtracted from the r...
__STATIC_INLINE uint32_t DDL_ADC12_GetChannelSamplingTime(ADC12_TypeDef *ADCx, uint32_t Channel)
Get sampling time of the selected ADC channel Unit: ADC clock cycles.
__STATIC_INLINE void DDL_ADC12_SetChannelSamplingTime(ADC12_TypeDef *ADCx, uint32_t Channel, uint32_t SamplingTime)
Set sampling time of the selected ADC channel Unit: ADC clock cycles.
__STATIC_INLINE uint32_t DDL_ADC12_DMA_GetRegAddr(ADC12_TypeDef *ADCx, uint32_t Register)
Function to help to configure DMA transfer from ADC: retrieve the ADC register address from ADC insta...
__STATIC_INLINE uint32_t DDL_ADC12_IsActiveFlag_JEOS(ADC12_TypeDef *ADCx)
Get flag ADC group injected end of sequence conversions.
__STATIC_INLINE uint32_t DDL_ADC12_IsActiveFlag_AWD1(ADC12_TypeDef *ADCx)
Get flag ADC analog watchdog 1 flag.
__STATIC_INLINE uint32_t DDL_ADC12_IsActiveFlag_EOS(ADC12_TypeDef *ADCx)
Get flag ADC group regular end of sequence conversions.
__STATIC_INLINE uint32_t DDL_ADC12_IsActiveFlag_EOC(ADC12_TypeDef *ADCx)
Get flag ADC group regular end of unitary conversion.
__STATIC_INLINE uint32_t DDL_ADC12_IsActiveFlag_JEOC(ADC12_TypeDef *ADCx)
Get flag ADC group injected end of unitary conversion.
__STATIC_INLINE void DDL_ADC12_ClearFlag_AWD1(ADC12_TypeDef *ADCx)
Clear flag ADC analog watchdog 1.
__STATIC_INLINE void DDL_ADC12_ClearFlag_JEOC(ADC12_TypeDef *ADCx)
Clear flag ADC group injected end of unitary conversion.
__STATIC_INLINE void DDL_ADC12_ClearFlag_JEOS(ADC12_TypeDef *ADCx)
Clear flag ADC group injected end of sequence conversions.
__STATIC_INLINE void DDL_ADC12_ClearFlag_EOS(ADC12_TypeDef *ADCx)
Clear flag ADC group regular end of sequence conversions.
__STATIC_INLINE void DDL_ADC12_ClearFlag_EOC(ADC12_TypeDef *ADCx)
Clear flag ADC group regular end of unitary conversion.
__STATIC_INLINE void DDL_ADC12_DisableIT_JEOC(ADC12_TypeDef *ADCx)
Disable interruption ADC group regular end of unitary conversion.
__STATIC_INLINE void DDL_ADC12_EnableIT_JEOC(ADC12_TypeDef *ADCx)
Enable interruption ADC group injected end of unitary conversion.
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabledIT_EOS(ADC12_TypeDef *ADCx)
Get state of interruption ADC group regular end of sequence conversions (0: interrupt disabled,...
__STATIC_INLINE void DDL_ADC12_DisableIT_AWD1(ADC12_TypeDef *ADCx)
Disable interruption ADC analog watchdog 1.
__STATIC_INLINE void DDL_ADC12_EnableIT_EOC(ADC12_TypeDef *ADCx)
Enable interruption ADC group regular end of unitary conversion.
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabledIT_EOC(ADC12_TypeDef *ADCx)
Get state of interruption ADC group regular end of unitary conversion (0: interrupt disabled,...
__STATIC_INLINE void DDL_ADC12_EnableIT_AWD1(ADC12_TypeDef *ADCx)
Enable interruption ADC analog watchdog 1.
__STATIC_INLINE void DDL_ADC12_DisableIT_EOC(ADC12_TypeDef *ADCx)
Disable interruption ADC group regular end of unitary conversion.
__STATIC_INLINE void DDL_ADC12_DisableIT_EOS(ADC12_TypeDef *ADCx)
Disable interruption ADC group regular end of sequence conversions.
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabledIT_JEOC(ADC12_TypeDef *ADCx)
Get state of interruption ADC group injected end of unitary conversion (0: interrupt disabled,...
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabledIT_AWD1(ADC12_TypeDef *ADCx)
Get state of interruption ADC analog watchdog 1 (0: interrupt disabled, 1: interrupt enabled).
__STATIC_INLINE void DDL_ADC12_DisableIT_JEOS(ADC12_TypeDef *ADCx)
Disable interruption ADC group injected end of sequence conversions.
__STATIC_INLINE void DDL_ADC12_EnableIT_JEOS(ADC12_TypeDef *ADCx)
Enable interruption ADC group injected end of sequence conversions.
__STATIC_INLINE uint32_t DDL_ADC12_IsEnabledIT_JEOS(ADC12_TypeDef *ADCx)
Get state of interruption ADC group injected end of sequence conversions (0: interrupt disabled,...
__STATIC_INLINE void DDL_ADC12_EnableIT_EOS(ADC12_TypeDef *ADCx)
Enable interruption ADC group regular end of sequence conversions.
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 uint32_t DDL_ADC12_INJ_ReadConversionData32(ADC12_TypeDef *ADCx, uint32_t Rank)
Get ADC group injected conversion data, range fit for all ADC configurations: all ADC resolutions and...
__STATIC_INLINE void DDL_ADC12_INJ_StopConversion(ADC12_TypeDef *ADCx)
Stop ADC group injected conversion.
__STATIC_INLINE void DDL_ADC12_INJ_StartConversion(ADC12_TypeDef *ADCx)
Start 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 void DDL_ADC12_REG_StartConversion(ADC12_TypeDef *ADCx)
Start 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_ReadConversionData32(ADC12_TypeDef *ADCx)
Get ADC group regular conversion data, range fit for all ADC configurations: all ADC resolutions and ...
__STATIC_INLINE uint32_t DDL_ADC12_REG_IsStopConversionOngoing(ADC12_TypeDef *ADCx)
Get ADC group regular command of conversion stop state.
__STATIC_INLINE void DDL_ADC12_Enable(ADC12_TypeDef *ADCx)
Enable the selected ADC instance.
__STATIC_INLINE void DDL_ADC12_SetDataAlignment(ADC12_TypeDef *ADCx, uint32_t Alignment)
Set ADC data alignment.
__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.
__STATIC_INLINE uint32_t DDL_ADC12_GetDataAlignment(ADC12_TypeDef *ADCx)
Get ADC data alignment.
#define ADC12_AWD_CR_ALL_CHANNEL_MASK
#define ADC12_REG_RANK_ID_SQRX_MASK
#define ADC12_AWD_TRX_BIT_HIGH_SHIFT4
#define ADC12_REG_SQRX_REGOFFSET_MASK
#define ADC12_CHANNEL_SMPx_BITOFFSET_MASK
#define ADC12_AWD_TRX_REGOFFSET_MASK
#define ADC12_CHANNEL_ID_NUMBER_BITOFFSET_POS
#define ADC12_INJ_JDRX_REGOFFSET_MASK
#define ADC12_TR1_HT1_BITOFFSET_POS
#define ADC12_SMPRX_REGOFFSET_POS
#define ADC12_CHANNEL_ID_NUMBER_MASK
#define ADC12_AWD_CRX_REGOFFSET_POS
#define ADC12_AWD_CRX_REGOFFSET_MASK
#define ADC12_CHANNEL_ID_NUMBER_MASK_POSBIT0
#define ADC12_AWD_TRX_REGOFFSET_POS
#define ADC12_JDRX_REGOFFSET_POS
#define ADC12_AWD_CR12_REGOFFSETGAP_VAL
#define ADC12_AWD_CR12_REGOFFSETGAP_MASK
#define ADC12_CHANNEL_SMPx_BITOFFSET_POS
#define ADC12_SQRX_REGOFFSET_POS
#define ADC12_INJ_RANK_ID_JSQR_MASK
#define ADC12_CHANNEL_SMPRX_REGOFFSET_MASK
#define ADC12_AWD_TRX_BIT_HIGH_MASK
#define __ADC12_PTR_REG_OFFSET(__REG__, __REG_OFFFSET__)
Driver macro reserved for internal use: set a pointer to a register from a register basis from which ...
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