MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
ADC: 16-bit sigma-delta Analog-to-Digital Converter Driver

Overview

The MCUXpresso SDK provides a peripheral driver for the 16-bit sigma-delta Analog-to-Digital Converter (ADC) module of MCUXpresso SDK devices.

Typical use case

Example use of ADC API.

Basic Configuration

static void ADC_Configuration(void)
{
adc_config_t adcConfigStruct;
adc_sd_config_t adcSdConfigStruct;
ADC_GetDefaultConfig(&adcConfigStruct);
adcConfigStruct.channelEnable = (1U << DEMO_ADC_CHANNEL);
adcConfigStruct.channelConfig = (DEMO_ADC_CFG_IDX << DEMO_ADC_CHANNEL);
adcConfigStruct.triggerSource = DEMO_ADC_TRIGGER;
adcConfigStruct.convMode = kADC_ConvModeSingle;
ADC_Init(DEMO_ADC_BASE, &adcConfigStruct);
/* Initial ADC Sigma Delta(SD) configuration */
ADC_GetSdDefaultConfig(&adcSdConfigStruct);
ADC_SetSdConfig(DEMO_ADC_BASE, DEMO_ADC_CFG_IDX, &adcSdConfigStruct);
/* Bandgap voltage */
g_AdcBandgap = ADC_GetBandgapCalibrationResult(DEMO_ADC_BASE, DEMO_ADC_CFG_IDX);
/* Calibration VINN value */
g_AdcVinn = ADC_GetVinnCalibrationResult(DEMO_ADC_BASE, &adcConfigStruct);
/* Enable ADC */
ADC_Enable(DEMO_ADC_BASE, true);
}

Files

file  fsl_adc.h
 

Data Structures

struct  adc_config_t
 Define structure for configuring the block. More...
 
struct  adc_sd_config_t
 Define structure for configuring Sigma Delta(SD) block. More...
 
struct  adc_window_compare_config_t
 ADC window comparison configuration. More...
 

Enumerations

enum  adc_clock_t
 Clock source.
 
enum  adc_ref_source_t {
  kADC_RefSourceBandgapWithDriver = 0U,
  kADC_RefSourceExtWithDriver,
  kADC_RefSourceExtWithoutDriver,
  kADC_RefSourceVccWithDriver
}
 Reference voltage source. More...
 
enum  adc_data_format_t
 Data format.
 
enum  adc_down_sample_t {
  kADC_DownSample32 = 1U,
  kADC_DownSample64 = 3U,
  kADC_DownSample128 = 5U,
  kADC_DownSample256 = 4U
}
 Cic down sample rate. More...
 
enum  adc_ref_gain_t {
  kADC_RefGain1 = 0U,
  kADC_RefGain1P5
}
 ADC reference gain. More...
 
enum  adc_gain_t {
  kADC_Gain0P5 = 0U,
  kADC_Gain1,
  kADC_Gain1P5,
  kADC_Gain2
}
 ADC gain. More...
 
enum  adc_vinn_select_t {
  kADC_VinnSelectVref = 0U,
  kADC_VinnSelectVref0P75,
  kADC_VinnSelectVref0P5,
  kADC_VinnSelectAvss
}
 ADC vinn select. More...
 
enum  adc_pga_gain_t {
  kADC_PgaBypass = ADC_CFG_PGA_BP(1),
  kADC_PgaGain1 = ADC_CFG_PGA_GAIN(0),
  kADC_PgaGain2 = ADC_CFG_PGA_GAIN(1),
  kADC_PgaGain4 = ADC_CFG_PGA_GAIN(2),
  kADC_PgaGain8 = ADC_CFG_PGA_GAIN(3),
  kADC_PgaGain16 = ADC_CFG_PGA_GAIN(4)
}
 PGA gain. More...
 
enum  adc_conv_mode_t {
  kADC_ConvModeSingle = (ADC_CTRL_CONV_MODE(1) | ADC_CTRL_SCAN_EN(0)),
  kADC_ConvModeBurst = (ADC_CTRL_CONV_MODE(0) | ADC_CTRL_SCAN_EN(0)),
  kADC_ConvModeSingleScan = (ADC_CTRL_CONV_MODE(1) | ADC_CTRL_SCAN_EN(1)),
  kADC_ConvModeBurstScan = (ADC_CTRL_CONV_MODE(0) | ADC_CTRL_SCAN_EN(1))
}
 Convert mode. More...
 
enum  adc_pga_adjust_direction_t {
  kADC_PgaAdjustMoveDown = 0U,
  kADC_PgaAdjustMoveUp
}
 PGA adjust direction. More...
 
enum  adc_vcm_voltage_t {
  kADC_VcmVoltage1D16 = 0U,
  kADC_VcmVoltage1D8,
  kADC_VcmVoltage2D8,
  kADC_VcmVoltage3D8,
  kADC_VcmVoltage4D8,
  kADC_VcmVoltage5D8,
  kADC_VcmVoltage6D8,
  kADC_VcmVoltage7D8
}
 VCM voltage select. More...
 
enum  _adc_interrupt_enable {
  kADC_InterruptMaskEnable = (int)ADC_INTEN_ADC_INTEN_MASK,
  kADC_InterruptDataReadyEnable = ADC_INTEN_DAT_RDY_INTEN_MASK,
  kADC_InterruptCompareEnable = ADC_INTEN_WCMP_INTEN_MASK,
  kADC_InterruptOverflowEnable = ADC_INTEN_FIFO_OF_INTEN_MASK
}
 Interrupts. More...
 
enum  _adc_status_flags {
  kADC_InterruptFlag = (int)ADC_INT_ADC_INT_MASK,
  kADC_DataReadyFlag = ADC_INT_DAT_RDY_INT_MASK,
  kADC_WindowCompareFlag = ADC_INT_WCMP_INT_MASK,
  kADC_OverflowFlag = ADC_INT_FIFO_OF_INT_MASK
}
 Status flag. More...
 
enum  adc_trigger_select_t {
  kADC_TriggerSelectGPIOA0 = 0U,
  kADC_TriggerSelectGPIOA1 = 1U,
  kADC_TriggerSelectGPIOA2 = 2U,
  kADC_TriggerSelectGPIOA3 = 3U,
  kADC_TriggerSelectGPIOA4 = 4U,
  kADC_TriggerSelectGPIOA5 = 5U,
  kADC_TriggerSelectGPIOA6 = 6U,
  kADC_TriggerSelectGPIOA7 = 7U,
  kADC_TriggerSelectGPIOA8 = 8U,
  kADC_TriggerSelectGPIOA9 = 9U,
  kADC_TriggerSelectGPIOA10 = 10U,
  kADC_TriggerSelectGPIOA11 = 11U,
  kADC_TriggerSelectGPIOA12 = 12U,
  kADC_TriggerSelectGPIOA13 = 13U,
  kADC_TriggerSelectGPIOA14 = 14U,
  kADC_TriggerSelectGPIOA15 = 15U,
  kADC_TriggerSelectGPIOA16 = 16U,
  kADC_TriggerSelectGPIOA17 = 17U,
  kADC_TriggerSelectGPIOA18 = 18U,
  kADC_TriggerSelectGPIOA19 = 19U,
  kADC_TriggerSelectGPIOA20 = 20U,
  kADC_TriggerSelectGPIOA21 = 21U,
  kADC_TriggerSelectGPIOA22 = 22U,
  kADC_TriggerSelectGPIOA23 = 23U,
  kADC_TriggerSelectGPIOA24 = 24U,
  kADC_TriggerSelectGPIOA25 = 25U,
  kADC_TriggerSelectGPIOA26 = 26U,
  kADC_TriggerSelectGPIOA27 = 27U,
  kADC_TriggerSelectGPIOA28 = 28U,
  kADC_TriggerSelectGPIOA29 = 29U,
  kADC_TriggerSelectGPIOA30 = 30U,
  kADC_TriggerSelectGPIOA31 = 31U,
  kADC_TriggerSelectGPIOB0 = 32u,
  kADC_TriggerSelectGPIOB1 = 33u,
  kADC_TriggerSelectGPIOB2 = 34u,
  kADC_TriggerSelectSoftware = 35U,
  kADC_TriggerSelectRNG = 36U,
  kADC_TriggerSelectPWMOUT0 = 38U,
  kADC_TriggerSelectPWMOUT1 = 39U,
  kADC_TriggerSelectPWMOUT2 = 40U,
  kADC_TriggerSelectPWMOUT3 = 41U,
  kADC_TriggerSelectPWMOUT4 = 42U,
  kADC_TriggerSelectPWMOUT5 = 43U,
  kADC_TriggerSelectPWMOUT6 = 44U,
  kADC_TriggerSelectPWMOUT7 = 45U,
  kADC_TriggerSelectPWMOUT8 = 46U,
  kADC_TriggerSelectPWMOUT9 = 47U,
  kADC_TriggerSelectTIMER0OUT0 = 48U,
  kADC_TriggerSelectTIMER0OUT1 = 49U,
  kADC_TriggerSelectTIMER0OUT2 = 50U,
  kADC_TriggerSelectTIMER0OUT3 = 51U,
  kADC_TriggerSelectTIMER1OUT0 = 52U,
  kADC_TriggerSelectTIMER1OUT1 = 53U,
  kADC_TriggerSelectTIMER1OUT2 = 54U,
  kADC_TriggerSelectTIMER1OUT3 = 55U,
  kADC_TriggerSelectTIMER2OUT0 = 56U,
  kADC_TriggerSelectTIMER2OUT1 = 57U,
  kADC_TriggerSelectTIMER2OUT2 = 58U,
  kADC_TriggerSelectTIMER2OUT3 = 59U,
  kADC_TriggerSelectTIMER3OUT0 = 60U,
  kADC_TriggerSelectTIMER3OUT1 = 61U,
  kADC_TriggerSelectTIMER3OUT2 = 62U,
  kADC_TriggerSelectTIMER3OUT3 = 63U
}
 

Driver version

#define FSL_ADC_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
 QN ADC driver version 2.0.0. More...
 

Initialization

void ADC_Init (ADC_Type *base, const adc_config_t *config)
 Initialize the ADC module. More...
 
void ADC_Deinit (ADC_Type *base)
 Deinitialize the ADC module. More...
 
void ADC_GetDefaultConfig (adc_config_t *config)
 Gets an available pre-defined settings for initial configuration. More...
 
void ADC_SetSdConfig (ADC_Type *base, uint8_t idx, const adc_sd_config_t *config)
 Set the sigma delta configuration. More...
 
void ADC_GetSdDefaultConfig (adc_sd_config_t *config)
 Gets an available pre-defined settings for SD configuration. More...
 
float ADC_GetBandgapCalibrationResult (ADC_Type *base, uint8_t idx)
 Get Bandgap calibration result. More...
 
uint32_t ADC_GetVinnCalibrationResult (ADC_Type *base, const adc_config_t *config)
 Get VINN calibration result. More...
 
uint32_t ADC_GetOffsetCalibrationResult (ADC_Type *base, const adc_config_t *config)
 Get VINN calibration result. More...
 
static void ADC_EnableTemperatureSensor (ADC_Type *base, bool enable)
 Enable the internal temperature sensor measurement. More...
 
static void ADC_EnableBatteryMonitor (bool enable)
 Enable the internal battery monitor. More...
 
void ADC_WindowCompareConfig (ADC_Type *base, const adc_window_compare_config_t *config)
 Configures the window compare mode. More...
 
static void ADC_Enable (ADC_Type *base, bool enable)
 Enable/Disable the ADC. More...
 
static void ADC_DoSoftwareTrigger (ADC_Type *base)
 Do trigger conversion by software. More...
 

Interrupts.

static void ADC_EnableInterrupts (ADC_Type *base, uint32_t mask)
 Enable interrupts for conversion sequences. More...
 
static void ADC_DisableInterrupts (ADC_Type *base, uint32_t mask)
 Disable interrupts for conversion sequences. More...
 

Status.

static uint32_t ADC_GetStatusFlags (ADC_Type *base)
 Get status flags of ADC module. More...
 
static void ADC_ClearStatusFlags (ADC_Type *base, uint32_t mask)
 Clear status flags of ADC module. More...
 

Data result.

static uint32_t ADC_GetConversionResult (ADC_Type *base)
 Get the conversion value. More...
 
float ADC_ConversionResult2Mv (ADC_Type *base, uint8_t ch, uint8_t idx, float vref, uint32_t vinn, uint32_t result)
 Conversion result to mv. More...
 
static void ADC_EmptyChannelConversionBuffer (ADC_Type *base)
 Empty conversion buffer. More...
 

Advanced Features

static void ADC_EnableInputSignalInvert (ADC_Type *base, bool enable)
 Enable/Disable the signal invert. More...
 
static void ADC_PgaChopperEnable (ADC_Type *base, bool enable)
 Enable/Disable the PGA chopper. More...
 

Data Structure Documentation

struct adc_config_t

Data Fields

uint32_t channelEnable
 Channel enable, each bit represent one channel.
 
uint32_t channelConfig
 Channel configure for Sigma Delta(SD) select, 0: indicate the channel use SD configure0 1: indicate the channel use SD configura1. More...
 
adc_trigger_select_t triggerSource
 Triger source select, only one triger source can be selected. More...
 
adc_conv_mode_t convMode
 Convert mode. More...
 
adc_clock_t clock
 Select the ADC working clock.
 
adc_ref_source_t refSource
 Select the reference voltage source. More...
 
adc_data_format_t dataFormat
 Select the Data format.
 

Field Documentation

uint32_t adc_config_t::channelConfig
adc_trigger_select_t adc_config_t::triggerSource
adc_conv_mode_t adc_config_t::convMode

Single convert, only one conversion performed and the first channel from LSB with 1 set will be converted. Burst convert, stop until ADC enable bit cleared and the first channel from LSB with 1 set will be converted. Single Scan convert, scan all channels with 1 set , automatic stoped after all channels conversion complete. Burst Scan convert, scan all channels with 1 set , stop until ADC enable bit cleared

adc_ref_source_t adc_config_t::refSource
struct adc_sd_config_t

Data Fields

adc_gain_t gain
 ADC gain.
 
adc_ref_gain_t refGain
 ADC reference gain.
 
adc_pga_gain_t pgaGain
 PGA gain.
 
adc_vinn_select_t vinnSelect
 Vinn select, take effect when single-ended channel configured.
 
adc_down_sample_t downSample
 Down sample rate.
 
adc_pga_adjust_direction_t adjustDirection
 PGA adjust direction.
 
uint8_t adjustValue
 PGA adjust value,Passing 0 to disable PGA adjust feature adjustment = (adjustValue[5] + 1)*(adjustValue[3:0] + 1)*40mv.
 
adc_vcm_voltage_t vcmSelect
 ADC input Voltage of Common Mode(VCM) selection.
 
struct adc_window_compare_config_t

Data Fields

int16_t lowValue
 Setting window low threshold. More...
 
int16_t highValue
 Setting window high threshold. More...
 

Field Documentation

int16_t adc_window_compare_config_t::lowValue
int16_t adc_window_compare_config_t::highValue

Macro Definition Documentation

#define FSL_ADC_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))

Enumeration Type Documentation

Enumerator
kADC_RefSourceBandgapWithDriver 

Internal 1.2v.

kADC_RefSourceExtWithDriver 

External reference with driver .

kADC_RefSourceExtWithoutDriver 

External reference without driver .

kADC_RefSourceVccWithDriver 

VCC.

Enumerator
kADC_DownSample32 

Down sample 32.

kADC_DownSample64 

Down sample 64.

kADC_DownSample128 

Down sample 128.

kADC_DownSample256 

Down sample 256.

Enumerator
kADC_RefGain1 

Reference gain 1.

kADC_RefGain1P5 

Reference gain 1.5.

enum adc_gain_t
Enumerator
kADC_Gain0P5 

ADC gain 0.5.

kADC_Gain1 

ADC gain 1.

kADC_Gain1P5 

ADC gain 1.5.

kADC_Gain2 

ADC gain 2.

Enumerator
kADC_VinnSelectVref 

Select Vref as VINN.

kADC_VinnSelectVref0P75 

Select 0.75Vref as VINN.

kADC_VinnSelectVref0P5 

Select 0.5Vref as VINN.

kADC_VinnSelectAvss 

Select AVSS as VINN.

Enumerator
kADC_PgaBypass 

PGA bypass.

kADC_PgaGain1 

PGA gain 1.

kADC_PgaGain2 

PGA gain 2.

kADC_PgaGain4 

PGA gain 4.

kADC_PgaGain8 

PGA gain 8.

kADC_PgaGain16 

PGA gain 16.

Enumerator
kADC_ConvModeSingle 

Single convert mode.

kADC_ConvModeBurst 

Burst convert mode.

kADC_ConvModeSingleScan 

Single scan convert mode.

kADC_ConvModeBurstScan 

Burst scan convert mode.

Enumerator
kADC_PgaAdjustMoveDown 

PGA adjust move down.

kADC_PgaAdjustMoveUp 

PGA adjust move up.

Enumerator
kADC_VcmVoltage1D16 

VCM voltage selection 1/16VCC.

kADC_VcmVoltage1D8 

VCM voltage selection 1/8VCC.

kADC_VcmVoltage2D8 

VCM voltage selection 2/8VCC.

kADC_VcmVoltage3D8 

VCM voltage selection 3/8VCC.

kADC_VcmVoltage4D8 

VCM voltage selection 4/8VCC.

kADC_VcmVoltage5D8 

VCM voltage selection 5/8VCC.

kADC_VcmVoltage6D8 

VCM voltage selection 6/8VCC.

kADC_VcmVoltage7D8 

VCM voltage selection 7/8VCC.

Note
kADC_InterruptMaskEnable item is the ADC interrupts mask
Enumerator
kADC_InterruptMaskEnable 

Interrupt enalbe mask.

kADC_InterruptDataReadyEnable 

Data ready interrupt enable.

kADC_InterruptCompareEnable 

Window comparation interrupt enable.

kADC_InterruptOverflowEnable 

Fifo overflow enable.

Enumerator
kADC_InterruptFlag 

Interrupt flag.

kADC_DataReadyFlag 

Data ready flag.

kADC_WindowCompareFlag 

Window comparation flag.

kADC_OverflowFlag 

Fifo overflow flag.

Enumerator
kADC_TriggerSelectGPIOA0 

GPIOA0 trigger.

kADC_TriggerSelectGPIOA1 

GPIOA1 trigger.

kADC_TriggerSelectGPIOA2 

GPIOA2 trigger.

kADC_TriggerSelectGPIOA3 

GPIOA3 trigger.

kADC_TriggerSelectGPIOA4 

GPIOA4 trigger.

kADC_TriggerSelectGPIOA5 

GPIOA5 trigger.

kADC_TriggerSelectGPIOA6 

GPIOA6 trigger.

kADC_TriggerSelectGPIOA7 

GPIOA7 trigger.

kADC_TriggerSelectGPIOA8 

GPIOA8 trigger.

kADC_TriggerSelectGPIOA9 

GPIOA9 trigger.

kADC_TriggerSelectGPIOA10 

GPIOA10 trigger.

kADC_TriggerSelectGPIOA11 

GPIOA11 trigger.

kADC_TriggerSelectGPIOA12 

GPIOA12 trigger.

kADC_TriggerSelectGPIOA13 

GPIOA13 trigger.

kADC_TriggerSelectGPIOA14 

GPIOA14 trigger.

kADC_TriggerSelectGPIOA15 

GPIOA15 trigger.

kADC_TriggerSelectGPIOA16 

GPIOA16 trigger.

kADC_TriggerSelectGPIOA17 

GPIOA17 trigger.

kADC_TriggerSelectGPIOA18 

GPIOA18 trigger.

kADC_TriggerSelectGPIOA19 

GPIOA19 trigger.

kADC_TriggerSelectGPIOA20 

GPIOA20 trigger.

kADC_TriggerSelectGPIOA21 

GPIOA21 trigger.

kADC_TriggerSelectGPIOA22 

GPIOA22 trigger.

kADC_TriggerSelectGPIOA23 

GPIOA23 trigger.

kADC_TriggerSelectGPIOA24 

GPIOA24 trigger.

kADC_TriggerSelectGPIOA25 

GPIOA25 trigger.

kADC_TriggerSelectGPIOA26 

GPIOA26 trigger.

kADC_TriggerSelectGPIOA27 

GPIOA27 trigger.

kADC_TriggerSelectGPIOA28 

GPIOA28 trigger.

kADC_TriggerSelectGPIOA29 

GPIOA29 trigger.

kADC_TriggerSelectGPIOA30 

GPIOA30 trigger.

kADC_TriggerSelectGPIOA31 

GPIOA31 trigger.

kADC_TriggerSelectGPIOB0 

GPIOB0 trigger.

kADC_TriggerSelectGPIOB1 

GPIOB1 trigger.

kADC_TriggerSelectGPIOB2 

GPIOB2 trigger.

kADC_TriggerSelectSoftware 

Software trigger.

kADC_TriggerSelectRNG 

RNG trigger.

kADC_TriggerSelectPWMOUT0 

PWMOUT0 trigger.

kADC_TriggerSelectPWMOUT1 

PWMOUT1 trigger.

kADC_TriggerSelectPWMOUT2 

PWMOUT2 trigger.

kADC_TriggerSelectPWMOUT3 

PWMOUT3 trigger.

kADC_TriggerSelectPWMOUT4 

PWMOUT4 trigger.

kADC_TriggerSelectPWMOUT5 

PWMOUT5 trigger.

kADC_TriggerSelectPWMOUT6 

PWMOUT6 trigger.

kADC_TriggerSelectPWMOUT7 

PWMOUT7 trigger.

kADC_TriggerSelectPWMOUT8 

PWMOUT8 trigger.

kADC_TriggerSelectPWMOUT9 

PWMOUT9 trigger.

kADC_TriggerSelectTIMER0OUT0 

TIMER0OUT0 trigger.

kADC_TriggerSelectTIMER0OUT1 

TIMER0OUT1 trigger.

kADC_TriggerSelectTIMER0OUT2 

TIMER0OUT2 trigger.

kADC_TriggerSelectTIMER0OUT3 

TIMER0OUT3 trigger.

kADC_TriggerSelectTIMER1OUT0 

TIMER1OUT0 trigger.

kADC_TriggerSelectTIMER1OUT1 

TIMER1OUT1 trigger.

kADC_TriggerSelectTIMER1OUT2 

TIMER1OUT2 trigger.

kADC_TriggerSelectTIMER1OUT3 

TIMER1OUT3 trigger.

kADC_TriggerSelectTIMER2OUT0 

TIMER2OUT0 trigger.

kADC_TriggerSelectTIMER2OUT1 

TIMER2OUT1 trigger.

kADC_TriggerSelectTIMER2OUT2 

TIMER2OUT2 trigger.

kADC_TriggerSelectTIMER2OUT3 

TIMER2OUT3 trigger.

kADC_TriggerSelectTIMER3OUT0 

TIMER3OUT0 trigger.

kADC_TriggerSelectTIMER3OUT1 

TIMER3OUT1 trigger.

kADC_TriggerSelectTIMER3OUT2 

TIMER3OUT2 trigger.

kADC_TriggerSelectTIMER3OUT3 

TIMER3OUT3 trigger.

Function Documentation

void ADC_Init ( ADC_Type *  base,
const adc_config_t config 
)

This function initializes the ADC module, including:

  • Enable ADC module clock.
  • Reset ADC module.
  • Configure the ADC with user configuration.
Parameters
baseADC peripheral base address.
configPointer to configuration structure, see to adc_config_t.
void ADC_Deinit ( ADC_Type *  base)

This function de-nitializes the ADC module, including:

  • Disable the ADC module clock.
Parameters
baseADC peripheral base address.
void ADC_GetDefaultConfig ( adc_config_t config)

This function initializes the initial configuration structure with an available settings. The default values are:

* config->channelEnable = 0;
* config->channelConfig = 0;
* config->triggerSource = kADC_TriggerSelectSoftware;
* config->convMode = kADC_ConvModeSingle;
* config->clock = kADC_Clock500K;
* config->refSource = kADC_RefSourceBandgapWithDriver;
* config->dataFormat = kADC_DataFormat1WithIdx;
*
Parameters
configPointer to configuration structure.
void ADC_SetSdConfig ( ADC_Type *  base,
uint8_t  idx,
const adc_sd_config_t config 
)

This function set the sigma delta with user configuration. There are two SD configuration registers, and the idx parameter is used to choose the register.

Parameters
baseADC peripheral base address.
idxConfigure register index, 0 for register CFG0 and 1 for register CFG1
configPointer to the "adc_sd_config_t" structure
void ADC_GetSdDefaultConfig ( adc_sd_config_t config)

This function initializes the initial configuration structure with an available settings. The default values are:

* config->gain = kADC_Gain1;
* config->refGain = kADC_RefGain1P5;
* config->pgaGain = kADC_PgaGain1;
* config->vinnSelect = kADC_VinnSelectVref0P75;
* config->downSample = kADC_DownSample256;
* config->adjustDirection = kADC_PgaAdjustMoveDown;
* config->adjustValue = 0;
* config->vcmSelect = kADC_VcmVoltage4D8;
*
Parameters
configPointer to configuration structure.
float ADC_GetBandgapCalibrationResult ( ADC_Type *  base,
uint8_t  idx 
)
Parameters
baseADC peripheral base address.
Returns
Bandgap voltage in mv.
uint32_t ADC_GetVinnCalibrationResult ( ADC_Type *  base,
const adc_config_t config 
)

This function is use to measure the VINN value with channel 20.

Parameters
baseADC peripheral base address.
idxConfigure register index, 0 for register CFG0 and 1 for register CFG1.
Returns
VINN calibration result.
uint32_t ADC_GetOffsetCalibrationResult ( ADC_Type *  base,
const adc_config_t config 
)

This function is use to measure the offset value with channel 15.

Parameters
baseADC peripheral base address.
idxConfigure register index, 0 for register CFG0 and 1 for register CFG1.
Returns
Offset calibration result.
static void ADC_EnableTemperatureSensor ( ADC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseADC peripheral base address.
enableSwitcher to enable the feature or not.
static void ADC_EnableBatteryMonitor ( bool  enable)
inlinestatic
Parameters
enableSwitcher to enable the feature or not.
void ADC_WindowCompareConfig ( ADC_Type *  base,
const adc_window_compare_config_t config 
)
Parameters
baseADC peripheral base address.
configPointer to the "adc_window_compare_config_t" structure. Passing "NULL" disables the feature.
static void ADC_Enable ( ADC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseADC peripheral base address.
enabletrue to enable the ADC, false to disable.
static void ADC_DoSoftwareTrigger ( ADC_Type *  base)
inlinestatic
Parameters
baseADC peripheral base address.
static void ADC_EnableInterrupts ( ADC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseADC peripheral base address.
maskMask value for the interrupts. See "_adc_interrupt_enable".
static void ADC_DisableInterrupts ( ADC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseADC peripheral base address.
maskMask value for the interrupts. See "_adc_interrupt_enable".
static uint32_t ADC_GetStatusFlags ( ADC_Type *  base)
inlinestatic
Parameters
baseADC peripheral base address.
Returns
Mask of status flags of module. See "_adc_status_flags".
static void ADC_ClearStatusFlags ( ADC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseADC peripheral base address.
maskMask of status flags of module, see to "_adc_status_flags".
static uint32_t ADC_GetConversionResult ( ADC_Type *  base)
inlinestatic
Parameters
baseADC peripheral base address.
Returns
Conversion result value.
float ADC_ConversionResult2Mv ( ADC_Type *  base,
uint8_t  ch,
uint8_t  idx,
float  vref,
uint32_t  vinn,
uint32_t  result 
)
Parameters
baseADC peripheral base address.
chADC channel number.
idxConfigure register index, 0 for register CFG0 and 1 for register CFG1
verfADC reference voltage in mv.
vinnADC conversion result get from ADC_GetConversionResult function.
resultADC conversion result get from ADC_GetConversionResult() function.
Returns
Conversion result in mv.
static void ADC_EmptyChannelConversionBuffer ( ADC_Type *  base)
inlinestatic
Parameters
baseADC peripheral base address.
static void ADC_EnableInputSignalInvert ( ADC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseADC peripheral base address.
enabletrue to enable the signal invert, false to disable.
static void ADC_PgaChopperEnable ( ADC_Type *  base,
bool  enable 
)
inlinestatic
Parameters
baseADC peripheral base address.
enabletrue to enable the PGA chopper, false to disable.