FD32M0P Microcontroller SDK
|
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. |
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 |
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 |
struct adc_timer_cfg_s |
struct adc_sw_trig_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 |
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 |
struct adc_samp_timer_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 |
struct adc_dma_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 |
void adc_clk_cfg | ( | ADC_REGS_s * | regs, |
adc_clk_cfg_s | clk_cfg ) |
This function configures the ADC clock.
regs | : pointer to the ADC register space |
clk_cfg | : clock configuration struct |
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.
void adc_chnl_cfg | ( | ADC_REGS_s * | regs, |
adc_chnl_cfg_s | chnl_cfg ) |
This function configures the ADC channel.
regs | : pointer to the ADC register space |
chnl_cfg | : channel configuration struct |
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.
uint32_t adc_result | ( | ADC_REGS_s * | regs, |
uint32_t | data_channel ) |
This function configures the ADC channel.
regs | : pointer to the ADC register space |
data_channel | : data channel register that contains ADC result |
ADC | result |
References ADC_REGS_s::RESULT.
void adc_dma_cfg | ( | ADC_REGS_s * | regs, |
adc_dma_cfg_s | dma_cfg ) |
This function configures the ADC DMA.
regs | : pointer to the ADC register space |
dma_cfg | : DMA configuration struct |
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.
void adc_result_cfg | ( | ADC_REGS_s * | regs, |
uint32_t | fifo_en ) |
This function configures the ADC Result registers for FIFO operation.
regs | : pointer to the ADC register space |
fifo_en | : enables FIFO mode. |
void |
References ADC_REGS_s::RESULT_CFG.
void adc_sw_trig | ( | ADC_REGS_s * | regs, |
uint32_t | sw_trig ) |
This function generates software trig.
regs | : pointer to the ADC register space |
sw_trig | : enables FIFO mode. |
void |
References ADC_SW_TRIGGER_u::packed_w, and ADC_REGS_s::SW_TRIGGER.
Referenced by get_adc_sw_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.
regs | : pointer to the ADC register space |
adc_single_ch | : ADC single channel configuration struct |
void |
References ADC_CONV_CFG_CONV_MODE_SINGLE_CONV, ADC_CONV_CFG_CONV_MODE_SINGLE_RPT_CONV, adc_single_ch_conv_cfg_s::adc_res, ADC_REGS_s::BLOCK_ASYNC_REQ, ADC_REGS_s::CONV_CFG, adc_single_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_single_ch_conv_cfg_s::dma_transfer_cnt, adc_single_ch_conv_cfg_s::fifo_en, adc_single_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_single_ch_conv_cfg_s::start_addr, and adc_single_ch_conv_cfg_s::trig_src.
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.
regs | : pointer to the ADC register space |
adc_multi_ch | : ADC single channel configuration struct |
void |
References ADC_CONV_CFG_CONV_MODE_MULTI_CH_CONV, ADC_CONV_CFG_CONV_MODE_MULTI_CH_RPT_CONV, adc_multi_ch_conv_cfg_s::adc_res, ADC_REGS_s::BLOCK_ASYNC_REQ, ADC_REGS_s::CONV_CFG, adc_multi_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_multi_ch_conv_cfg_s::dma_transfer_cnt, adc_multi_ch_conv_cfg_s::end_addr, adc_multi_ch_conv_cfg_s::fifo_en, adc_multi_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_multi_ch_conv_cfg_s::start_addr, and adc_multi_ch_conv_cfg_s::trig_src.
void adc_en_conv | ( | ADC_REGS_s * | regs, |
uint32_t | en_conv ) |
This function enables ADC conversion.
regs | : pointer to the ADC register space |
en_conv | : ADC single channel configuration struct |
void |
References ADC_REGS_s::CONV_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 ) |
This function configures ADC for temp sensor application.
adc_regs | : pointer to the ADC register space |
mcu_regs | : pointer to the MCU register space |
vref_regs | : pointer to the VREF register space |
adc_single_ch | : ADC single channel configuration struct |
adc_chnl_cfg | : ADC channel configuration struct |
void |
References ADC_CHNL_CFG_CHANNEL_SEL_TEMP_SENSOR, ADC_CONV_CFG_CONV_MODE_SINGLE_CONV, ADC_CONV_CFG_CONV_MODE_SINGLE_RPT_CONV, adc_single_ch_conv_cfg_s::adc_res, MCU_CTRL_REGS_s::ANA_SPARE_OUT0, ADC_REGS_s::BLOCK_ASYNC_REQ, ADC_REGS_s::CHNL_CFG, ADC_REGS_s::CONV_CFG, VREF_REGS_s::CTRL, adc_chnl_cfg_s::data_channel, adc_single_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_single_ch_conv_cfg_s::dma_transfer_cnt, adc_chnl_cfg_s::hw_avg_en, adc_single_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_single_ch_conv_cfg_s::start_addr, adc_single_ch_conv_cfg_s::trig_src, VREF_CTRL_VREF_MODE_1P4V, and adc_chnl_cfg_s::vref_sel.
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.
adc_regs | : pointer to the ADC register space |
mcu_regs | : pointer to the MCU register space |
vref_regs | : pointer to the VREF register space |
adc_single_ch | : ADC single channel configuration struct |
adc_chnl_cfg | : ADC channel configuration struct |
void |
References ADC_CHNL_CFG_CHANNEL_SEL_BATT_MON, ADC_CONV_CFG_CONV_MODE_SINGLE_CONV, ADC_CONV_CFG_CONV_MODE_SINGLE_RPT_CONV, adc_single_ch_conv_cfg_s::adc_res, MCU_CTRL_REGS_s::ANA_SPARE_OUT0, ADC_REGS_s::CHNL_CFG, ADC_REGS_s::CONV_CFG, VREF_REGS_s::CTRL, adc_chnl_cfg_s::data_channel, adc_single_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_single_ch_conv_cfg_s::dma_transfer_cnt, adc_single_ch_conv_cfg_s::fifo_en, adc_chnl_cfg_s::hw_avg_en, adc_single_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_single_ch_conv_cfg_s::start_addr, adc_single_ch_conv_cfg_s::trig_src, VREF_CTRL_VREF_MODE_2P5V, and adc_chnl_cfg_s::vref_sel.
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.
regs | : pointer to the ADC register space |
in_clk_freq | : clock frequency to ADC' |
exp_samp_rate | : desired sampling rate of ADC |
void |
References ADC_REGS_s::CLK_CTRL, ADC_REGS_s::TIMER_CONVERSION, ADC_REGS_s::TIMER_SAMPLE, ADC_REGS_s::TIMER_START, and UartPuts().
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.
regs | : pointer to the ADC register space |
adc_hw_cfg | : ADC hardware averaging configuration struct |
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.
adc_clk_cfg_s get_adc_clk_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC clock configuration.
regs | : pointer to the ADC register space |
ADC | clock 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.
adc_chnl_cfg_s get_adc_chnl_cfg | ( | ADC_REGS_s * | regs, |
uint32_t | data_channel ) |
This function returns ADC channel configuration.
regs | : pointer to the ADC register space |
data_channel | : data channel for which channel configuration is required. |
ADC | channel 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.
adc_dma_cfg_s get_adc_dma_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC DMA configuration.
regs | : pointer to the ADC register space |
ADC | DMA 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.
uint32_t get_adc_result_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC result register configuration.
regs | : pointer to the ADC register space |
ADC | result register configuration |
References ADC_REGS_s::RESULT_CFG.
adc_sw_trig_cfg_s get_adc_sw_trig | ( | ADC_REGS_s * | regs | ) |
This function returns ADC software trigger configuration.
regs | : pointer to the ADC register space |
ADC | software trigger configuration |
References adc_sw_trig(), and ADC_REGS_s::SW_TRIGGER.
adc_single_ch_conv_cfg_s get_adc_single_ch_conv_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC single channel configuration.
regs | : pointer to the ADC register space |
ADC | single channel configuration |
References adc_single_ch_conv_cfg_s::adc_res, ADC_REGS_s::CONV_CFG, adc_single_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_single_ch_conv_cfg_s::dma_transfer_cnt, adc_single_ch_conv_cfg_s::fifo_en, adc_single_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_single_ch_conv_cfg_s::start_addr, and adc_single_ch_conv_cfg_s::trig_src.
adc_multi_ch_conv_cfg_s get_adc_multi_ch_conv_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC multi channel configuration.
regs | : pointer to the ADC register space |
ADC | multi channel configuration |
References adc_multi_ch_conv_cfg_s::adc_res, ADC_REGS_s::CONV_CFG, adc_multi_ch_conv_cfg_s::dma_en, ADC_REGS_s::DMA_REG, ADC_REGS_s::DMA_TRANSFER_CNT, adc_multi_ch_conv_cfg_s::dma_transfer_cnt, adc_multi_ch_conv_cfg_s::end_addr, adc_multi_ch_conv_cfg_s::fifo_en, adc_multi_ch_conv_cfg_s::repeat, ADC_REGS_s::RESULT_CFG, adc_multi_ch_conv_cfg_s::start_addr, and adc_multi_ch_conv_cfg_s::trig_src.
uint32_t get_adc_en_conv | ( | ADC_REGS_s * | regs | ) |
This function returns ADC enable conversion status.
regs | : pointer to the ADC register space |
ADC | enable conversion status |
References ADC_REGS_s::CONV_CFG.
adc_timer_cfg_s get_adc_timer_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC timer configuration.
regs | : pointer to the ADC register space |
ADC | timer 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.
adc_hw_avg_cfg_s get_adc_hw_avg_cfg | ( | ADC_REGS_s * | regs | ) |
This function returns ADC hardware averaging configuration.
regs | : pointer to the ADC register space |
ADC | hardware 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.