The MCUXpresso SDK provides a driver for the Analog Digital converter (ADC) module of MCUXpresso SDK devices.
The ADC driver can be divided into 7 function groups.
The functions in this group can be used to configure the whole ADC module. To initialize the ADC module, the ADC_Init() is provided. Before invoking ADC_Init() function, user can use ADC_GetDefaultConfig() function to get default configurations.
The ADC module supports both automatic calibration and user defined calibration. To do auto calibration, the function ADC_DoAutoCalibration() is provided, to do user defined calibration, the function ADC_DoUserCalibration() is provided.
The functions in this group can be used to control temperature sensor, including enableing temperature sensor and setting temperature sensor mode.
Conversion related function are placed in this function group. If the trigger mode is set as software trigger, invoking ADC_DoSoftwareTrigger() to trigger the scan. ADC_SetScanChannel() function can be used to set each channel's mux source. After conversion completed, ADC_GetConversionResult() can be used to get 32-bit width packed ADC conversion result.
The functions in this group can be used to enable/disable interrupts.
|
enum | _adc_interrupt_enable {
kADC_DataReadyInterruptEnable = ADC_ADC_REG_IMR_RDY_MASK_MASK,
kADC_GainSaturationInterruptEnable = ADC_ADC_REG_IMR_GAINSAT_MASK_MASK,
kADC_OffsetSaturationInterruptEnable = ADC_ADC_REG_IMR_OFFSAT_MASK_MASK,
kADC_NegativeSaturationInterruptEnable = ADC_ADC_REG_IMR_DATASAT_NEG_MASK_MASK,
kADC_PositiveSaturationInterruptEnable = ADC_ADC_REG_IMR_DATASAT_POS_MASK_MASK,
kADC_FifoOverrunInterruptEnable = ADC_ADC_REG_IMR_FIFO_OVERRUN_MASK_MASK,
kADC_FifoUnderrunInterruptEnable = ADC_ADC_REG_IMR_FIFO_UNDERRUN_MASK_MASK
} |
| The enumeration of interrupts, this enumeration can be used to enable/disable interrupts. More...
|
|
enum | _adc_status_flags {
kADC_DataReadyInterruptFlag = 1UL << 0UL,
kADC_GainSaturationInterruptFlag = 1UL << 1UL,
kADC_OffsetSaturationInterruptFlag = 1UL << 2UL,
kADC_NegativeSaturationInterruptFlag = 1UL << 3UL,
kADC_PositiveSaturationInterruptFlag = 1UL << 4UL,
kADC_FifoOverrunInterruptFlag = 1UL << 5UL,
kADC_FifoUnderrunInterruptFlag = 1UL << 6UL,
kADC_DataReadyRawFlag = 1UL << 7UL,
kADC_GainSaturationRawFlag = 1UL << 8UL,
kADC_OffsetSaturationRawFlag = 1UL << 9UL,
kADC_NegativeSaturationRawFlag = 1UL << 10UL,
kADC_PositiveSaturationRawFlag = 1UL << 11UL,
kADC_FifoOverrunRawFlag = 1UL << 12UL,
kADC_FifoUnderrunRawFlag = 1UL << 13UL,
kADC_ActiveStatusFlag = 1UL << 14UL,
kADC_FIFONotEmptyStatusFlag = 1UL << 15UL,
kADC_FifoFullStatusFlag = 1UL << 16UL
} |
| The enumeration of adc status flags, including interrupt flags, raw flags, and so on. More...
|
|
enum | adc_clock_divider_t {
kADC_ClockDivider1 = 0U,
kADC_ClockDivider2 = 1U,
kADC_ClockDivider3 = 2U,
kADC_ClockDivider4 = 3U,
kADC_ClockDivider5 = 4U,
kADC_ClockDivider6 = 5U,
kADC_ClockDivider7 = 6U,
kADC_ClockDivider8 = 7U,
kADC_ClockDivider9 = 8U,
kADC_ClockDivider10 = 9U,
kADC_ClockDivider11 = 10U,
kADC_ClockDivider12 = 11U,
kADC_ClockDivider13 = 12U,
kADC_ClockDivider14 = 13U,
kADC_ClockDivider15 = 14U,
kADC_ClockDivider16 = 15U,
kADC_ClockDivider17 = 16U,
kADC_ClockDivider18 = 17U,
kADC_ClockDivider19 = 18U,
kADC_ClockDivider20 = 19U,
kADC_ClockDivider21 = 20U,
kADC_ClockDivider22 = 21U,
kADC_ClockDivider23 = 22U,
kADC_ClockDivider24 = 23U,
kADC_ClockDivider25 = 24U,
kADC_ClockDivider26 = 25U,
kADC_ClockDivider27 = 26U,
kADC_ClockDivider28 = 27U,
kADC_ClockDivider29 = 28U,
kADC_ClockDivider30 = 29U,
kADC_ClockDivider31 = 30U,
kADC_ClockDivider32 = 31U
} |
| ADC clock divider ratio type. More...
|
|
enum | adc_analog_portion_power_mode_t {
kADC_PowerModeFullBiasingCurrent = 0U,
kADC_PowerModeHalfBiasingCurrent
} |
| ADC analog portion low-power mode selection. More...
|
|
enum | adc_resolution_t {
kADC_Resolution12Bit = 0U,
kADC_Resolution14Bit = 1U,
kADC_Resolution16Bit = 2U,
kADC_Resolution16BitAudio = 3U
} |
| ADC resolution type. More...
|
|
enum | adc_warm_up_time_t {
kADC_WarmUpTime1us = 0U,
kADC_WarmUpTime2us,
kADC_WarmUpTime3us,
kADC_WarmUpTime4us,
kADC_WarmUpTime5us,
kADC_WarmUpTime6us,
kADC_WarmUpTime7us,
kADC_WarmUpTime8us,
kADC_WarmUpTime9us,
kADC_WarmUpTime10us,
kADC_WarmUpTime11us,
kADC_WarmUpTime12us,
kADC_WarmUpTime13us,
kADC_WarmUpTime14us,
kADC_WarmUpTime15us,
kADC_WarmUpTime16us,
kADC_WarmUpTime17us,
kADC_WarmUpTime18us,
kADC_WarmUpTime19us,
kADC_WarmUpTime20us,
kADC_WarmUpTime21us,
kADC_WarmUpTime22us,
kADC_WarmUpTime23us,
kADC_WarmUpTime24us,
kADC_WarmUpTime25us,
kADC_WarmUpTime26us,
kADC_WarmUpTime27us,
kADC_WarmUpTime28us,
kADC_WarmUpTime29us,
kADC_WarmUpTime30us,
kADC_WarmUpTime31us,
kADC_WarmUpTime32us,
kADC_WarmUpStateBypass = 0x20U
} |
| The enumeration of adc warm up time, the ADC warm-up state can also bypassed. More...
|
|
enum | adc_vref_source_t {
kADC_Vref1P8V = 0U,
kADC_Vref1P2V = 1U,
kADC_VrefExternal = 2U,
kADC_VrefInternal1P2V = 3U
} |
| ADC voltage reference source type. More...
|
|
enum | adc_input_mode_t {
kADC_InputSingleEnded = 0U,
kADC_InputDifferential = 1U
} |
| ADC input mode type. More...
|
|
enum | adc_conversion_mode_t {
kADC_ConversionOneShot = 0U,
kADC_ConversionContinuous = 1U
} |
| ADC conversion mode type. More...
|
|
enum | adc_scan_length_t {
kADC_ScanLength_1 = 0U,
kADC_ScanLength_2 = 1U,
kADC_ScanLength_3 = 2U,
kADC_ScanLength_4 = 3U,
kADC_ScanLength_5 = 4U,
kADC_ScanLength_6 = 5U,
kADC_ScanLength_7 = 6U,
kADC_ScanLength_8 = 7U,
kADC_ScanLength_9 = 8U,
kADC_ScanLength_10 = 9U,
kADC_ScanLength_11 = 10U,
kADC_ScanLength_12 = 11U,
kADC_ScanLength_13 = 12U,
kADC_ScanLength_14 = 13U,
kADC_ScanLength_15 = 14U,
kADC_ScanLength_16 = 15U
} |
| ADC scan length type. More...
|
|
enum | adc_average_length_t {
kADC_AverageNone = 0U,
kADC_Average2 = 1U,
kADC_Average4 = 2U,
kADC_Average8 = 3U,
kADC_Average16 = 4U
} |
| ADC average length type. More...
|
|
enum | adc_trigger_source_t {
kADC_TriggerSourceGpt = 0U,
kADC_TriggerSourceAcomp = 1U,
kADC_TriggerSourceGpio40 = 2U,
kADC_TriggerSourceGpio41 = 3U,
kADC_TriggerSourceSoftware = 4U
} |
| ADC trigger source, including software trigger and multiple hardware trigger sources. More...
|
|
enum | adc_input_gain_t {
kADC_InputGain0P5 = 0U,
kADC_InputGain1 = 1U,
kADC_InputGain2 = 2U
} |
| ADC input buffer gain type. More...
|
|
enum | adc_result_width_t {
kADC_ResultWidth16 = 0U,
kADC_ResultWidth32 = 1U
} |
| ADC result width type. More...
|
|
enum | adc_fifo_threshold_t {
kADC_FifoThresholdData1 = 0U,
kADC_FifoThresholdData4,
kADC_FifoThresholdData8,
kADC_FifoThresholdData16
} |
| The threshold of FIFO. More...
|
|
enum | adc_calibration_ref_t {
kADC_CalibrationVrefInternal = 0,
kADC_CalibrationVrefExternal = 1
} |
| ADC calibration voltage reference type. More...
|
|
enum | adc_scan_channel_t {
kADC_ScanChannel0 = 0U,
kADC_ScanChannel1 = 1U,
kADC_ScanChannel2 = 2U,
kADC_ScanChannel3 = 3U,
kADC_ScanChannel4 = 4U,
kADC_ScanChannel5 = 5U,
kADC_ScanChannel6 = 6U,
kADC_ScanChannel7 = 7U,
kADC_ScanChannel8 = 8U,
kADC_ScanChannel9 = 9U,
kADC_ScanChannel10 = 10U,
kADC_ScanChannel11 = 11U,
kADC_ScanChannel12 = 12U,
kADC_ScanChannel13 = 13U,
kADC_ScanChannel14 = 14U,
kADC_ScanChannel15 = 15U
} |
| ADC scan channel type. More...
|
|
enum | adc_channel_source_t {
kADC_CH0 = 0U,
kADC_CH1 = 1U,
kADC_CH2 = 2U,
kADC_CH3 = 3U,
kADC_CH4 = 4U,
kADC_CH5 = 5U,
kADC_CH6 = 6U,
kADC_CH7 = 7U,
kADC_VBATS = 8U,
kADC_VREF = 9U,
kADC_DACA = 10U,
kADC_DACB = 11U,
kADC_VSSA = 12U,
kADC_TEMPP = 15U,
kADC_CH0_CH1 = 0U,
kADC_CH2_CH3 = 1U,
kADC_CH4_CH5 = 2U,
kADC_CH6_CH7 = 3U,
kADC_DACA_DACB = 4U,
kADC_VOICEP_VOICEN = 5U,
kADC_TEMPP_TEMPN = 15U
} |
| ADC channel source type. More...
|
|
enum | adc_temperature_sensor_mode_t {
kADC_TSensorInternal = 0U,
kADC_TSensorExternal
} |
| Temperature sensor mode, including internal diode mode and external diode mode. More...
|
|
enum | adc_audio_pga_voltage_gain_t {
kADC_AudioGain4 = 0U,
kADC_AudioGain8 = 1U,
kADC_AudioGain16 = 2U,
kADC_AudioGain32 = 3U
} |
| ADC audio pga gain type. More...
|
|
enum | adc_audio_voice_level_t {
kADC_VoiceLevel0 = 0U,
kADC_VoiceLevel1 = 1U,
kADC_VoiceLevel2 = 2U,
kADC_VoiceLevel3 = 3U
} |
| ADC audio voice level selection. More...
|
|