FD32M0P Microcontroller SDK
Loading...
Searching...
No Matches

Data Structures

struct  adc_clk_cfg_s
 ADC Clock Configuration Struct. More...
struct  adc_chnl_cfg_s
 ADC Channel Configuration Struct. More...
struct  adc_timer_cfg_s
 ADC Timer Configuration Struct. More...
struct  adc_sw_trig_cfg_s
 ADC Software Trigger Struct. More...
struct  adc_single_ch_conv_cfg_s
 ADC Single Channel Conv Configuration Struct. More...
struct  adc_multi_ch_conv_cfg_s
 ADC Multi Channel Conv Configuration Struct. More...
struct  adc_samp_timer_cfg_s
 ADC Sampling Timer Struct. More...
struct  adc_temp_cfg_s
 ADC Temperature Configuration Struct. More...
struct  adc_dma_cfg_s
 ADC DMA Configuration Struct. More...
struct  adc_hw_avg_cfg_s
 ADC Hardware Averaging Configuration Struct. More...

Functions

void adc_clk_cfg (ADC_REGS_s *regs, adc_clk_cfg_s clk_cfg)
 This function configures the ADC clock.
void adc_chnl_cfg (ADC_REGS_s *regs, adc_chnl_cfg_s chnl_cfg)
 This function configures the ADC channel.
uint32_t adc_result (ADC_REGS_s *regs, uint32_t data_channel)
 This function configures the ADC channel.
void adc_dma_cfg (ADC_REGS_s *regs, adc_dma_cfg_s dma_cfg)
 This function configures the ADC DMA.
void adc_result_cfg (ADC_REGS_s *regs, uint32_t fifo_en)
 This function configures the ADC Result registers for FIFO operation.
void adc_sw_trig (ADC_REGS_s *regs, uint32_t sw_trig)
 This function generates software trig.
void adc_single_ch_conv_cfg (ADC_REGS_s *regs, adc_single_ch_conv_cfg_s adc_single_ch)
 This function configures ADC for single channel operation.
void adc_multi_ch_conv_cfg (ADC_REGS_s *regs, adc_multi_ch_conv_cfg_s adc_multi_ch)
 This function configures ADC for multi channel operation.
void adc_en_conv (ADC_REGS_s *regs, uint32_t en_conv)
 This function enables ADC conversion.
void adc_temp_cfg (ADC_REGS_s *adc_regs, MCU_CTRL_REGS_s *mcu_regs, VREF_REGS_s *vref_regs, adc_single_ch_conv_cfg_s adc_single_ch, adc_chnl_cfg_s adc_chnl_cfg)
 This function configures ADC for temp sensor application.
void adc_batt_mon_cfg (ADC_REGS_s *adc_regs, MCU_CTRL_REGS_s *mcu_regs, VREF_REGS_s *vref_regs, adc_single_ch_conv_cfg_s adc_single_ch, adc_chnl_cfg_s chnl_cfg)
 This function configures ADC for battery monitor application.
void adc_samp_timer_cfg (ADC_REGS_s *regs, uint32_t in_clk_freq, uint32_t exp_samp_rate)
 This function configures ADC sampling timer.
void adc_hw_avg_cfg (ADC_REGS_s *regs, adc_hw_avg_cfg_s adc_hw_cfg)
 This function configures ADC for hardware averaging mode.
adc_clk_cfg_s get_adc_clk_cfg (ADC_REGS_s *regs)
 This function returns ADC clock configuration.
adc_chnl_cfg_s get_adc_chnl_cfg (ADC_REGS_s *regs, uint32_t data_channel)
 This function returns ADC channel configuration.
adc_dma_cfg_s get_adc_dma_cfg (ADC_REGS_s *regs)
 This function returns ADC DMA configuration.
uint32_t get_adc_result_cfg (ADC_REGS_s *regs)
 This function returns ADC result register configuration.
adc_sw_trig_cfg_s get_adc_sw_trig (ADC_REGS_s *regs)
 This function returns ADC software trigger configuration.
adc_single_ch_conv_cfg_s get_adc_single_ch_conv_cfg (ADC_REGS_s *regs)
 This function returns ADC single channel configuration.
adc_multi_ch_conv_cfg_s get_adc_multi_ch_conv_cfg (ADC_REGS_s *regs)
 This function returns ADC multi channel configuration.
uint32_t get_adc_en_conv (ADC_REGS_s *regs)
 This function returns ADC enable conversion status.
adc_timer_cfg_s get_adc_timer_cfg (ADC_REGS_s *regs)
 This function returns ADC timer configuration.
adc_hw_avg_cfg_s get_adc_hw_avg_cfg (ADC_REGS_s *regs)
 This function returns ADC hardware averaging configuration.

Detailed Description


Data Structure Documentation

◆ adc_clk_cfg_s

struct adc_clk_cfg_s

ADC Clock Configuration Struct.

Data Fields
uint32_t clk_en
ADC_CLK_CTRL_CLK_DIV_E clk_div
ADC_CLK_SEL_E clk_sel

◆ adc_chnl_cfg_s

struct adc_chnl_cfg_s

ADC Channel Configuration Struct.

Data Fields
uint32_t data_channel
ADC_CHNL_CFG_CHANNEL_SEL_E channel_sel
ADC_CHNL_CFG_VREF_SEL_E vref_sel
uint32_t hw_avg_en
uint32_t bcs_en

◆ adc_timer_cfg_s

struct adc_timer_cfg_s

ADC Timer Configuration Struct.

Data Fields
uint32_t start_time
uint32_t sample_time
uint32_t conv_time

◆ adc_sw_trig_cfg_s

struct adc_sw_trig_cfg_s

ADC Software Trigger Struct.

Data Fields
uint32_t sw_trigger
uint32_t sw_trigger_en

◆ adc_single_ch_conv_cfg_s

struct adc_single_ch_conv_cfg_s

ADC Single Channel Conv Configuration Struct.

Data Fields
uint32_t repeat
uint32_t start_addr
ADC_CONV_CFG_TRIGGER_SOURCE_E trig_src
ADC_CONV_CFG_ADC_RES_E adc_res
uint32_t dma_en
uint32_t dma_transfer_cnt
uint32_t fifo_en

◆ adc_multi_ch_conv_cfg_s

struct adc_multi_ch_conv_cfg_s

ADC Multi Channel Conv Configuration Struct.

Data Fields
uint32_t repeat
uint32_t start_addr
uint32_t end_addr
ADC_CONV_CFG_TRIGGER_SOURCE_E trig_src
ADC_CONV_CFG_ADC_RES_E adc_res
uint32_t dma_en
uint32_t dma_transfer_cnt
uint32_t fifo_en

◆ adc_samp_timer_cfg_s

struct adc_samp_timer_cfg_s

ADC Sampling Timer Struct.

Data Fields
uint32_t input_clk_rate
uint32_t adc_samp_rate

◆ adc_temp_cfg_s

struct adc_temp_cfg_s

ADC Temperature Configuration Struct.

Data Fields
adc_single_ch_conv_cfg_s temp_conv
adc_chnl_cfg_s temp_chnl_cfg

◆ adc_dma_cfg_s

struct adc_dma_cfg_s

ADC DMA Configuration Struct.

Data Fields
uint32_t dma_en
uint32_t dma_transfer_cnt

◆ adc_hw_avg_cfg_s

struct adc_hw_avg_cfg_s

ADC Hardware Averaging Configuration Struct.

Data Fields
ADC_HW_AVG_CFG_HW_SAMPLE_CNT_E hw_sample_cnt
ADC_HW_AVG_CFG_HW_AVG_SAMPLE_DIV_E hw_avg_sample_div

Function Documentation

◆ adc_clk_cfg()

void adc_clk_cfg ( ADC_REGS_s * regs,
adc_clk_cfg_s clk_cfg )

This function configures the ADC clock.

Parameters
regs: pointer to the ADC register space
clk_cfg: clock configuration struct
Return values
void

References ADC_CLK_SEL_CLK_SEL_MASK, ADC_REGS_s::CLK_CTRL, adc_clk_cfg_s::clk_div, adc_clk_cfg_s::clk_en, ADC_REGS_s::CLK_SEL, adc_clk_cfg_s::clk_sel, and ADC_CLK_SEL_u::packed_w.

◆ adc_chnl_cfg()

void adc_chnl_cfg ( ADC_REGS_s * regs,
adc_chnl_cfg_s chnl_cfg )

This function configures the ADC channel.

Parameters
regs: pointer to the ADC register space
chnl_cfg: channel configuration struct
Return values
void

References adc_chnl_cfg_s::bcs_en, adc_chnl_cfg_s::channel_sel, ADC_REGS_s::CHNL_CFG, adc_chnl_cfg_s::data_channel, adc_chnl_cfg_s::hw_avg_en, and adc_chnl_cfg_s::vref_sel.

◆ adc_result()

uint32_t adc_result ( ADC_REGS_s * regs,
uint32_t data_channel )

This function configures the ADC channel.

Parameters
regs: pointer to the ADC register space
data_channel: data channel register that contains ADC result
Return values
ADCresult

References ADC_REGS_s::RESULT.

◆ adc_dma_cfg()

void adc_dma_cfg ( ADC_REGS_s * regs,
adc_dma_cfg_s dma_cfg )

This function configures the ADC DMA.

Parameters
regs: pointer to the ADC register space
dma_cfg: DMA configuration struct
Return values
void

References adc_dma_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, and adc_dma_cfg_s::dma_transfer_cnt.

◆ adc_result_cfg()

void adc_result_cfg ( ADC_REGS_s * regs,
uint32_t fifo_en )

This function configures the ADC Result registers for FIFO operation.

Parameters
regs: pointer to the ADC register space
fifo_en: enables FIFO mode.
Return values
void

References ADC_REGS_s::RESULT_CFG.

◆ adc_sw_trig()

void adc_sw_trig ( ADC_REGS_s * regs,
uint32_t sw_trig )

This function generates software trig.

Parameters
regs: pointer to the ADC register space
sw_trig: enables FIFO mode.
Return values
void

References ADC_SW_TRIGGER_u::packed_w, and ADC_REGS_s::SW_TRIGGER.

Referenced by get_adc_sw_trig().

Here is the caller graph for this function:

◆ adc_single_ch_conv_cfg()

◆ adc_multi_ch_conv_cfg()

◆ adc_en_conv()

void adc_en_conv ( ADC_REGS_s * regs,
uint32_t en_conv )

This function enables ADC conversion.

Parameters
regs: pointer to the ADC register space
en_conv: ADC single channel configuration struct
Return values
void

References ADC_REGS_s::CONV_CFG.

◆ adc_temp_cfg()

void adc_temp_cfg ( ADC_REGS_s * adc_regs,
MCU_CTRL_REGS_s * mcu_regs,
VREF_REGS_s * vref_regs,
adc_single_ch_conv_cfg_s adc_single_ch,
adc_chnl_cfg_s adc_chnl_cfg )

◆ adc_batt_mon_cfg()

void adc_batt_mon_cfg ( ADC_REGS_s * adc_regs,
MCU_CTRL_REGS_s * mcu_regs,
VREF_REGS_s * vref_regs,
adc_single_ch_conv_cfg_s adc_single_ch,
adc_chnl_cfg_s chnl_cfg )

◆ adc_samp_timer_cfg()

void adc_samp_timer_cfg ( ADC_REGS_s * regs,
uint32_t in_clk_freq,
uint32_t exp_samp_rate )

This function configures ADC sampling timer.

Parameters
regs: pointer to the ADC register space
in_clk_freq: clock frequency to ADC'
exp_samp_rate: desired sampling rate of ADC
Return values
void

References ADC_REGS_s::CLK_CTRL, ADC_REGS_s::TIMER_CONVERSION, ADC_REGS_s::TIMER_SAMPLE, ADC_REGS_s::TIMER_START, and UartPuts().

Here is the call graph for this function:

◆ adc_hw_avg_cfg()

void adc_hw_avg_cfg ( ADC_REGS_s * regs,
adc_hw_avg_cfg_s adc_hw_cfg )

This function configures ADC for hardware averaging mode.

Parameters
regs: pointer to the ADC register space
adc_hw_cfg: ADC hardware averaging configuration struct
Return values
void

References ADC_REGS_s::HW_AVG_CFG, adc_hw_avg_cfg_s::hw_avg_sample_div, and adc_hw_avg_cfg_s::hw_sample_cnt.

◆ get_adc_clk_cfg()

adc_clk_cfg_s get_adc_clk_cfg ( ADC_REGS_s * regs)

This function returns ADC clock configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADCclock configuration

References ADC_REGS_s::CLK_CTRL, adc_clk_cfg_s::clk_div, adc_clk_cfg_s::clk_en, ADC_REGS_s::CLK_SEL, and adc_clk_cfg_s::clk_sel.

◆ get_adc_chnl_cfg()

adc_chnl_cfg_s get_adc_chnl_cfg ( ADC_REGS_s * regs,
uint32_t data_channel )

This function returns ADC channel configuration.

Parameters
regs: pointer to the ADC register space
data_channel: data channel for which channel configuration is required.
Return values
ADCchannel configuration

References adc_chnl_cfg_s::bcs_en, adc_chnl_cfg_s::channel_sel, ADC_REGS_s::CHNL_CFG, adc_chnl_cfg_s::hw_avg_en, and adc_chnl_cfg_s::vref_sel.

◆ get_adc_dma_cfg()

adc_dma_cfg_s get_adc_dma_cfg ( ADC_REGS_s * regs)

This function returns ADC DMA configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADCDMA configuration

References adc_dma_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, and adc_dma_cfg_s::dma_transfer_cnt.

◆ get_adc_result_cfg()

uint32_t get_adc_result_cfg ( ADC_REGS_s * regs)

This function returns ADC result register configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADCresult register configuration

References ADC_REGS_s::RESULT_CFG.

◆ get_adc_sw_trig()

adc_sw_trig_cfg_s get_adc_sw_trig ( ADC_REGS_s * regs)

This function returns ADC software trigger configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADCsoftware trigger configuration

References adc_sw_trig(), and ADC_REGS_s::SW_TRIGGER.

Here is the call graph for this function:

◆ get_adc_single_ch_conv_cfg()

◆ get_adc_multi_ch_conv_cfg()

◆ get_adc_en_conv()

uint32_t get_adc_en_conv ( ADC_REGS_s * regs)

This function returns ADC enable conversion status.

Parameters
regs: pointer to the ADC register space
Return values
ADCenable conversion status

References ADC_REGS_s::CONV_CFG.

◆ get_adc_timer_cfg()

adc_timer_cfg_s get_adc_timer_cfg ( ADC_REGS_s * regs)

This function returns ADC timer configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADCtimer configuration

References adc_timer_cfg_s::conv_time, adc_timer_cfg_s::sample_time, adc_timer_cfg_s::start_time, ADC_REGS_s::TIMER_CONVERSION, ADC_REGS_s::TIMER_SAMPLE, and ADC_REGS_s::TIMER_START.

◆ get_adc_hw_avg_cfg()

adc_hw_avg_cfg_s get_adc_hw_avg_cfg ( ADC_REGS_s * regs)

This function returns ADC hardware averaging configuration.

Parameters
regs: pointer to the ADC register space
Return values
ADChardware averaging configuration

References ADC_REGS_s::HW_AVG_CFG, adc_hw_avg_cfg_s::hw_avg_sample_div, and adc_hw_avg_cfg_s::hw_sample_cnt.