33 #ifndef __SILICON_LABS_EM_ADC_H__
34 #define __SILICON_LABS_EM_ADC_H__
37 #if defined( ADC_COUNT ) && ( ADC_COUNT > 0 )
73 #if defined( _ADC_CTRL_LPFMODE_MASK )
78 adcLPFilterBypass = _ADC_CTRL_LPFMODE_BYPASS,
81 adcLPFilterRC = _ADC_CTRL_LPFMODE_RCFILT,
84 adcLPFilterDeCap = _ADC_CTRL_LPFMODE_DECAP
85 } ADC_LPFilter_TypeDef;
132 #if defined( _ADC_SINGLECTRL_PRSSEL_MASK )
137 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH4 )
140 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH5 )
143 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH6 )
146 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH7 )
149 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH8 )
152 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH9 )
155 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH10 )
158 #if defined( _ADC_SINGLECTRL_PRSSEL_PRSCH11 )
161 #elif defined(_ADC_SINGLECTRLX_PRSSEL_MASK)
174 #if defined( _ADC_SINGLECTRLX_PRSSEL_PRSCH12 )
175 adcPRSSELCh12 = _ADC_SINGLECTRLX_PRSSEL_PRSCH12,
176 adcPRSSELCh13 = _ADC_SINGLECTRLX_PRSSEL_PRSCH13,
177 adcPRSSELCh14 = _ADC_SINGLECTRLX_PRSSEL_PRSCH14,
178 adcPRSSELCh15 = _ADC_SINGLECTRLX_PRSSEL_PRSCH15,
186 #if defined( _ADC_SCANCTRLX_VREFSEL_MASK )
187 #define ADC_CTRLX_VREFSEL_REG 0x80
212 #if defined( _ADC_SINGLECTRLX_VREFSEL_VBGR )
217 #if defined( _ADC_SINGLECTRLX_VREFSEL_VDDXWATT )
222 #if defined( _ADC_SINGLECTRLX_VREFSEL_VREFPWATT )
228 #if defined( _ADC_SINGLECTRLX_VREFSEL_VREFP )
233 #if defined( _ADC_SINGLECTRLX_VREFSEL_VENTROPY )
238 #if defined( _ADC_SINGLECTRLX_VREFSEL_VREFPNWATT )
244 #if defined( _ADC_SINGLECTRLX_VREFSEL_VREFPN )
262 #if defined( _ADC_SINGLECTRL_INPUTSEL_MASK )
267 adcSingleInputCh0 = _ADC_SINGLECTRL_INPUTSEL_CH0,
268 adcSingleInputCh1 = _ADC_SINGLECTRL_INPUTSEL_CH1,
269 adcSingleInputCh2 = _ADC_SINGLECTRL_INPUTSEL_CH2,
270 adcSingleInputCh3 = _ADC_SINGLECTRL_INPUTSEL_CH3,
271 adcSingleInputCh4 = _ADC_SINGLECTRL_INPUTSEL_CH4,
272 adcSingleInputCh5 = _ADC_SINGLECTRL_INPUTSEL_CH5,
273 adcSingleInputCh6 = _ADC_SINGLECTRL_INPUTSEL_CH6,
274 adcSingleInputCh7 = _ADC_SINGLECTRL_INPUTSEL_CH7,
275 adcSingleInputTemp = _ADC_SINGLECTRL_INPUTSEL_TEMP,
276 adcSingleInputVDDDiv3 = _ADC_SINGLECTRL_INPUTSEL_VDDDIV3,
277 adcSingleInputVDD = _ADC_SINGLECTRL_INPUTSEL_VDD,
278 adcSingleInputVSS = _ADC_SINGLECTRL_INPUTSEL_VSS,
279 adcSingleInputVrefDiv2 = _ADC_SINGLECTRL_INPUTSEL_VREFDIV2,
280 adcSingleInputDACOut0 = _ADC_SINGLECTRL_INPUTSEL_DAC0OUT0,
281 adcSingleInputDACOut1 = _ADC_SINGLECTRL_INPUTSEL_DAC0OUT1,
283 adcSingleInputATEST = 15,
286 adcSingleInputCh0Ch1 = _ADC_SINGLECTRL_INPUTSEL_CH0CH1,
287 adcSingleInputCh2Ch3 = _ADC_SINGLECTRL_INPUTSEL_CH2CH3,
288 adcSingleInputCh4Ch5 = _ADC_SINGLECTRL_INPUTSEL_CH4CH5,
289 adcSingleInputCh6Ch7 = _ADC_SINGLECTRL_INPUTSEL_CH6CH7,
291 adcSingleInputDiff0 = 4
292 } ADC_SingleInput_TypeDef;
296 #define adcSingleInpCh0 adcSingleInputCh0
297 #define adcSingleInpCh1 adcSingleInputCh1
298 #define adcSingleInpCh2 adcSingleInputCh2
299 #define adcSingleInpCh3 adcSingleInputCh3
300 #define adcSingleInpCh4 adcSingleInputCh4
301 #define adcSingleInpCh5 adcSingleInputCh5
302 #define adcSingleInpCh6 adcSingleInputCh6
303 #define adcSingleInpCh7 adcSingleInputCh7
304 #define adcSingleInpTemp adcSingleInputTemp
305 #define adcSingleInpVDDDiv3 adcSingleInputVDDDiv3
306 #define adcSingleInpVDD adcSingleInputVDD
307 #define adcSingleInpVSS adcSingleInputVSS
308 #define adcSingleInpVrefDiv2 adcSingleInputVrefDiv2
309 #define adcSingleInpDACOut0 adcSingleInputDACOut0
310 #define adcSingleInpDACOut1 adcSingleInputDACOut1
311 #define adcSingleInpATEST adcSingleInputATEST
312 #define adcSingleInpCh0Ch1 adcSingleInputCh0Ch1
313 #define adcSingleInpCh2Ch3 adcSingleInputCh2Ch3
314 #define adcSingleInpCh4Ch5 adcSingleInputCh4Ch5
315 #define adcSingleInpCh6Ch7 adcSingleInputCh6Ch7
316 #define adcSingleInpDiff0 adcSingleInputDiff0
320 #if defined( _ADC_SINGLECTRL_POSSEL_MASK )
506 #if defined( _ADC_SINGLECTRL_NEGSEL_MASK )
677 #if defined( _ADC_SCANINPUTSEL_MASK )
681 adcScanInputGroup0 = 0,
682 adcScanInputGroup1 = 1,
683 adcScanInputGroup2 = 2,
684 adcScanInputGroup3 = 3,
685 } ADC_ScanInputGroup_TypeDef;
690 adcScanNegInput1 = 1,
691 adcScanNegInput3 = 3,
692 adcScanNegInput5 = 5,
693 adcScanNegInput7 = 7,
694 adcScanNegInput8 = 8,
695 adcScanNegInput10 = 10,
696 adcScanNegInput12 = 12,
697 adcScanNegInput14 = 14,
698 adcScanNegInputDefault = 0xFF,
699 } ADC_ScanNegInput_TypeDef;
726 #if defined( _ADC_CTRL_WARMUPMODE_FASTBG )
728 adcWarmupFastBG = _ADC_CTRL_WARMUPMODE_FASTBG,
731 #if defined( _ADC_CTRL_WARMUPMODE_KEEPSCANREFWARM )
733 adcWarmupKeepScanRefWarm = _ADC_CTRL_WARMUPMODE_KEEPSCANREFWARM,
736 #if defined( _ADC_CTRL_WARMUPMODE_KEEPINSTANDBY )
742 #if defined( _ADC_CTRL_WARMUPMODE_KEEPINSLOWACC )
755 #if defined( _ADC_CTRL_ADCCLKMODE_MASK )
779 #if defined( _ADC_CTRL_LPFMODE_MASK )
781 ADC_LPFilter_TypeDef lpfMode;
803 #if defined( _ADC_CTRL_ADCCLKMODE_MASK )
810 #if defined( _ADC_CTRL_LPFMODE_MASK ) && (!defined( _ADC_CTRL_ADCCLKMODE_MASK ))
811 #define ADC_INIT_DEFAULT \
816 _ADC_CTRL_TIMEBASE_DEFAULT, \
817 _ADC_CTRL_PRESC_DEFAULT, \
820 #elif (!defined( _ADC_CTRL_LPFMODE_MASK )) && (!defined( _ADC_CTRL_ADCCLKMODE_MASK ))
821 #define ADC_INIT_DEFAULT \
825 _ADC_CTRL_TIMEBASE_DEFAULT, \
826 _ADC_CTRL_PRESC_DEFAULT, \
829 #elif (!defined( _ADC_CTRL_LPFMODE_MASK )) && defined( _ADC_CTRL_ADCCLKMODE_MASK )
830 #define ADC_INIT_DEFAULT \
834 _ADC_CTRL_TIMEBASE_DEFAULT, \
835 _ADC_CTRL_PRESC_DEFAULT, \
877 #if defined( _ADC_SCANCTRL_INPUTMASK_MASK )
887 #if defined( _ADC_SCANINPUTSEL_MASK )
908 #if defined( _ADC_CTRL_SCANDMAWU_MASK )
912 #if defined( _ADC_SCANCTRLX_FIFOOFACT_MASK )
920 #if defined( _ADC_SCANCTRL_INPUTMASK_MASK )
921 #define ADC_INITSCAN_DEFAULT \
935 #if defined( _ADC_SCANINPUTSEL_MASK )
936 #define ADC_INITSCAN_DEFAULT \
944 _ADC_SCANNEGSEL_RESETVALUE, \
976 #if defined( _ADC_SINGLECTRL_INPUTSEL_MASK )
981 ADC_SingleInput_TypeDef input;
984 #if defined( _ADC_SINGLECTRL_POSSEL_MASK )
989 #if defined( _ADC_SINGLECTRL_NEGSEL_MASK )
1007 #if defined( _ADC_CTRL_SINGLEDMAWU_MASK )
1012 #if defined( _ADC_SINGLECTRLX_FIFOOFACT_MASK )
1020 #if defined( _ADC_SINGLECTRL_INPUTSEL_MASK )
1021 #define ADC_INITSINGLE_DEFAULT \
1034 #define ADC_INITSINGLE_DEFAULT \
1040 adcPosSelAPORT0XCH0, \
1041 adcNegSelAPORT0XCH1, \
1131 #if defined( _ADC_SCANDATAX_MASK )
1139 #if defined( _ADC_SCANINPUTSEL_MASK )
1142 ADC_ScanInputGroup_TypeDef inputGroup,
1145 ADC_ScanInputGroup_TypeDef inputGroup,
1147 ADC_ScanNegInput_TypeDef adcScanNegInput);
1259 return adc->
IF & ien;
1292 adc->
CMD = (uint32_t)cmd;
#define _ADC_SINGLECTRL_NEGSEL_VSS
#define _ADC_SINGLECTRL_AT_2CYCLES
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH16
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH30
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH1
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH2
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH4
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH3
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH21
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH0
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH22
#define _ADC_SINGLECTRLX_VREFSEL_VENTROPY
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH25
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH28
ADC_PosSel_TypeDef posSel
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH7
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH15
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH22
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH20
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH26
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH28
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH18
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH10
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH20
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH27
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH28
#define _ADC_CTRL_OVSRSEL_X16
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH4
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH4
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH0
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH30
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH21
__STATIC_INLINE uint32_t ADC_DataSinglePeek(ADC_TypeDef *adc)
Peek single conversion result.
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH25
#define _ADC_SINGLECTRL_NEGSEL_DEFAULT
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH7
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH25
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH7
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH28
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH26
#define _ADC_CTRL_OVSRSEL_X2048
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH1
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH14
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH10
#define _ADC_CTRL_WARMUPMODE_NORMAL
__STATIC_INLINE uint32_t ADC_DataScanPeek(ADC_TypeDef *adc)
Peek scan result.
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH7
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH6
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH24
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH8
#define _ADC_CTRL_WARMUPMODE_KEEPADCWARM
#define _ADC_CTRL_OVSRSEL_X512
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH15
#define _ADC_CTRL_ASYNCCLKEN_ALWAYSON
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH22
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH4
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH8
ADC_EM2ClockConfig_TypeDef em2ClockConfig
void ADC_Reset(ADC_TypeDef *adc)
Reset ADC to same state as after a HW reset.
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH10
#define _ADC_CTRL_OVSRSEL_X256
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH0
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH30
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH15
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH17
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH27
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH2
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH23
ADC_AcqTime_TypeDef acqTime
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH24
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH25
#define _ADC_SINGLECTRL_REF_1V25
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH28
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH7
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH26
#define _ADC_SINGLECTRL_POSSEL_PDBU
#define _ADC_CTRL_ADCCLKMODE_ASYNC
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH14
ADC_NegSel_TypeDef negSel
#define _ADC_SINGLECTRL_POSSEL_DAC0OUT0
#define _ADC_SINGLECTRL_RES_6BIT
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH18
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH26
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH28
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH31
__STATIC_INLINE void ADC_IntClear(ADC_TypeDef *adc, uint32_t flags)
Clear one or more pending ADC interrupts.
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH6
#define _ADC_CTRL_ASYNCCLKEN_ASNEEDED
#define _ADC_SINGLECTRL_POSSEL_TESTP
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH2
#define _ADC_SINGLECTRL_POSSEL_SP1
#define _ADC_SINGLECTRL_POSSEL_BU
#define ADC_CMD_SCANSTART
#define _ADC_SINGLECTRL_REF_2V5
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH25
#define _ADC_SINGLECTRL_RES_8BIT
#define _ADC_CTRL_OVSRSEL_X32
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH4
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH12
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH9
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH16
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH22
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH1
__STATIC_INLINE uint32_t ADC_DataSingleGet(ADC_TypeDef *adc)
Get single conversion result.
#define _ADC_SINGLECTRL_REF_VDD
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH15
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH2
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH5
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH7
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH1
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH7
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH30
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH14
#define _ADC_SINGLECTRL_AT_128CYCLES
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH18
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH30
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH6
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH0
#define _ADC_SINGLECTRLX_VREFSEL_VREFP
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH10
#define _ADC_SINGLECTRL_AT_8CYCLES
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH7
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH10
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH26
#define _ADC_SINGLECTRL_POSSEL_DEFAULT
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH29
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH16
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH6
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH31
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH1
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH21
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH3
ADC_PRSSEL_TypeDef prsSel
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH28
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH8
#define _ADC_CTRL_OVSRSEL_X8
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH10
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH2
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH3
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH11
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH21
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH9
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH15
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH4
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH15
__STATIC_INLINE void ADC_IntSet(ADC_TypeDef *adc, uint32_t flags)
Set one or more pending ADC interrupts from SW.
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH29
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH17
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH6
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH22
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH1
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH4
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH6
#define _ADC_SINGLECTRL_REF_2XVDD
#define ADC_CTRLX_VREFSEL_REG
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH27
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH10
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH12
#define _ADC_SINGLECTRLX_VREFSEL_VREFPWATT
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH11
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH29
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH0
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH4
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH11
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH24
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH16
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH12
__STATIC_INLINE void ADC_IntEnable(ADC_TypeDef *adc, uint32_t flags)
Enable one or more ADC interrupts.
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH6
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH25
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH3
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH15
void ADC_Init(ADC_TypeDef *adc, const ADC_Init_TypeDef *init)
Initialize ADC.
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH3
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH11
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH6
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH13
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH22
#define _ADC_SINGLECTRL_REF_EXTSINGLE
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH7
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH23
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH2
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH17
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH13
#define _ADC_CTRL_OVSRSEL_X128
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH12
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH25
ADC_PRSSEL_TypeDef prsSel
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH24
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH31
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH15
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH21
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH13
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH30
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH8
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH13
uint32_t ADC_DataIdScanGet(ADC_TypeDef *adc, uint32_t *scanId)
Get scan result and scan select ID.
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH22
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH11
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH31
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH18
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH1
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH23
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH17
void ADC_ScanInputClear(ADC_InitScan_TypeDef *scanInit)
Clear ADC scan input configuration.
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH10
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH11
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH23
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH11
#define _ADC_SINGLECTRL_POSSEL_IO1
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH2
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH23
uint8_t ADC_TimebaseCalc(uint32_t hfperFreq)
Calculate timebase value in order to get a timebase providing at least 1us.
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH15
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH13
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH0
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH31
#define _ADC_SINGLECTRLX_VREFSEL_VREFPN
#define _ADC_CTRL_WARMUPMODE_KEEPINSLOWACC
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH2
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH29
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH15
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH6
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH11
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH27
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH19
#define _ADC_CTRL_OVSRSEL_X2
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH30
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH15
#define _ADC_CTRL_WARMUPMODE_KEEPINSTANDBY
#define _ADC_SINGLECTRL_AT_16CYCLES
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH19
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH5
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH10
#define _ADC_CTRL_OVSRSEL_X4096
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH24
uint32_t ADC_ScanDifferentialInputAdd(ADC_InitScan_TypeDef *scanInit, ADC_ScanInputGroup_TypeDef inputGroup, ADC_PosSel_TypeDef posSel, ADC_ScanNegInput_TypeDef adcScanNegInput)
Initialize ADC scan differential input configuration.
#define _ADC_SINGLECTRL_POSSEL_VREGOUTPA
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH5
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH26
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH4
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH0
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH0
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH1
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH13
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH23
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH0
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH0
ADC_Res_TypeDef resolution
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH13
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH11
ADC_EM2ClockConfig_TypeDef
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH0
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH17
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH14
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH29
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH19
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH12
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH3
__STATIC_INLINE void ADC_IntDisable(ADC_TypeDef *adc, uint32_t flags)
Disable one or more ADC interrupts.
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH27
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH14
void ADC_InitSingle(ADC_TypeDef *adc, const ADC_InitSingle_TypeDef *init)
Initialize single ADC sample conversion.
#define _ADC_CTRL_OVSRSEL_X1024
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH4
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH23
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH7
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH5
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH2
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH22
#define _ADC_SINGLECTRL_AT_4CYCLES
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH9
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH27
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH31
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH16
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH3
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH19
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH7
#define _ADC_CTRL_OVSRSEL_X64
ADC_InitScanInput_TypeDef scanInputConfig
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH30
#define _ADC_SINGLECTRL_POSSEL_AREG
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH13
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH21
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH8
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH7
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH25
#define _ADC_SINGLECTRL_POSSEL_VSS
uint32_t ADC_ScanSingleEndedInputAdd(ADC_InitScan_TypeDef *scanInit, ADC_ScanInputGroup_TypeDef inputGroup, ADC_PosSel_TypeDef singleEndedSel)
Initialize ADC scan single-ended input configuration.
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH7
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH31
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH12
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH4
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH29
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH10
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH0
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH2
#define _ADC_SINGLECTRL_POSSEL_AVDD
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH11
#define ADC_CMD_SINGLESTART
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH3
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH23
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH3
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH8
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH6
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH27
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH6
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH8
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH21
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH26
#define _ADC_SINGLECTRL_POSSEL_TEMP
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH5
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH21
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH17
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH1
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH18
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH4
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH5
#define _ADC_SINGLECTRL_RES_12BIT
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH3
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH13
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH19
uint8_t ADC_PrescaleCalc(uint32_t adcFreq, uint32_t hfperFreq)
Calculate prescaler value used to determine ADC clock.
#define _ADC_SINGLECTRL_NEGSEL_APORT1XCH18
__STATIC_INLINE void ADC_Start(ADC_TypeDef *adc, ADC_Start_TypeDef cmd)
Start scan sequence and/or single conversion.
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH19
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH1
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH18
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH9
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH4
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH16
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH31
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH19
void ADC_InitScan(ADC_TypeDef *adc, const ADC_InitScan_TypeDef *init)
Initialize ADC scan sequence.
#define _ADC_SINGLECTRL_REF_2XEXTDIFF
__STATIC_INLINE uint32_t ADC_DataScanGet(ADC_TypeDef *adc)
Get scan result.
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH9
#define _ADC_CTRL_OVSRSEL_X4
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH6
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH12
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH0
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH28
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH16
#define _ADC_SINGLECTRL_AT_256CYCLES
#define _ADC_SINGLECTRL_AT_32CYCLES
#define _ADC_SINGLECTRLX_VREFSEL_VBGR
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH24
ADC_Ref_TypeDef reference
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH13
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH24
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH3
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH3
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH29
#define _ADC_SINGLECTRL_NEGSEL_TESTN
#define _ADC_SINGLECTRL_POSSEL_DAC0OUT1
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH5
#define _ADC_SINGLECTRL_AT_1CYCLE
#define _ADC_SINGLECTRL_POSSEL_SP2
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH13
#define _ADC_SINGLECTRL_REF_5VDIFF
ADC_OvsRateSel_TypeDef ovsRateSel
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH5
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT0YCH13
#define _ADC_SINGLECTRLX_PRSSEL_PRSCH10
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH24
#define _ADC_SINGLECTRL_POSSEL_APORT0YCH2
#define _ADC_SINGLECTRL_NEGSEL_APORT0XCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH1
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH5
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH1
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH2
ADC_Ref_TypeDef reference
#define _ADC_SINGLECTRL_POSSEL_SP0
__STATIC_INLINE uint32_t ADC_IntGet(ADC_TypeDef *adc)
Get pending ADC interrupt flags.
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH11
ADC_Res_TypeDef resolution
#define _ADC_SINGLECTRL_POSSEL_VSP
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH5
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH9
__STATIC_INLINE uint32_t ADC_IntGetEnabled(ADC_TypeDef *adc)
Get enabled and pending ADC interrupt flags. Useful for handling more interrupt sources in the same i...
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH18
#define _ADC_SINGLECTRL_POSSEL_APORT2YCH8
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH16
#define _ADC_SINGLECTRLX_VREFSEL_VDDXWATT
#define _ADC_SINGLECTRL_NEGSEL_APORT1YCH5
#define _ADC_SINGLECTRL_NEGSEL_APORT4XCH5
#define _ADC_SINGLECTRL_POSSEL_APORT3YCH17
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH15
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH29
ADC_AcqTime_TypeDef acqTime
ADC_Warmup_TypeDef warmUpMode
#define _ADC_SINGLECTRLX_VREFSEL_VREFPNWATT
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH11
#define _ADC_SINGLECTRL_RES_OVS
#define _ADC_SINGLECTRL_POSSEL_IO0
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH26
#define _ADC_SINGLECTRL_NEGSEL_APORT3XCH6
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH3
#define _ADC_SINGLECTRL_AT_64CYCLES
#define _ADC_SINGLECTRL_POSSEL_APORT0XCH11
#define _ADC_SINGLECTRL_POSSEL_APORT4XCH27
#define _ADC_SINGLECTRL_POSSEL_SUBLSB
#define _ADC_SINGLECTRL_POSSEL_APORT4YCH14
#define _ADC_SINGLECTRL_NEGSEL_APORT2YCH10
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH1
#define _ADC_SINGLECTRL_POSSEL_APORT1XCH10
#define _ADC_SINGLECTRL_POSSEL_APORT1YCH5
#define _ADC_SINGLECTRL_NEGSEL_APORT4YCH20
#define _ADC_SINGLECTRL_NEGSEL_APORT2XCH19
#define _ADC_SINGLECTRL_NEGSEL_APORT3YCH9
#define _ADC_SINGLECTRL_POSSEL_APORT3XCH2
#define _ADC_SINGLECTRL_POSSEL_APORT2XCH17