mcu_ab568x/userboot240328/app/platform/libs/api_saradc.h
2025-05-30 18:03:10 +08:00

43 lines
2.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _API_SARADC_H
#define _API_SARADC_H
#define ADCCH15_ANA_VRTC 0x01
#define ADCCH15_ANA_TS 0x02
#define ADCCH15_ANA_BG 0x04
#define ADCCH15_ANA_VUSB 0x08
typedef struct {
psfr_t sfr; //SADCDAT SFR
u16 channel;
u8 adc15_ana_en;
u8 adc15_ana_cur;
} saradc_cb_t;
extern saradc_cb_t saradc_cb;
extern volatile bool adc_chstops_flag;
extern volatile bool adc_vbat2_flag;
#define saradc_get_value10(n) saradc_cb.sfr[n] //获取某个channel的ADC值
#define saradc_get_value8(n) ((u8)(saradc_cb.sfr[n]>>2)) //获取某个channel的ADC值
#define saradc_adc15_is_vrtc() (bool)(saradc_cb.adc15_ana_cur == ADCCH15_ANA_VRTC)
#define saradc_adc15_is_ts() (bool)(saradc_cb.adc15_ana_cur == ADCCH15_ANA_TS)
#define saradc_adc15_is_bg() (bool)(saradc_cb.adc15_ana_cur == ADCCH15_ANA_BG)
#define saradc_adc15_is_vusb() (bool)(saradc_cb.adc15_ana_cur == ADCCH15_ANA_VUSB)
#define saradc_kick_start(auto_anl_en, isr_en) saradc_kick_start_do(saradc_cb.channel, auto_anl_en, isr_en)
void saradc_var_init(void);
void saradc_init(void); //初始化ADC
uint16_t saradc_exit(void); //关闭ADC
void saradc_set_baud(u16 div); //设置ADC时钟分频
uint16_t saradc_set_channel(uint16_t channel); //设置ADC channel返回值设置前的channel
void saradc_clr_channel(uint16_t channel); //清除ADC channel
uint16_t saradc_get_channel(void); //获取ADC channel
void saradc_kick_start_do(u16 adc_ch, u8 auto_anl_en, u8 isr_en);//启动ADC转换
bool saradc_is_finish(void); //ADC转换是否完成
void saradc_set_setup_time(u32 adc_ch, u32 delay_clk); //设置通道的采样延时
void saradc_adc15_analog_select(u8 ana_ch); //ADC15的模拟信号选择
void saradc_adc15_analog_next(void); //ADC15自动选择下一个模拟信号
u8 saradc_adc15_ana_set_channel(u8 ana_ch); //ADC15设置模拟通路
void saradc_adc15_ana_clr_channel(u8 ana_ch); //ADC15清除模拟通路
#endif