#ifndef __ADC_H #define __ADC_H #include "define_all.h" // ÄÚ²¿ÀÛ¼Ó // #define const_adc_Slope (*((uint16_t *)(0x1FFFFA84))) //ADCбÂÊ£¬³ý1000ºóʹÓà // #define const_adc_Offset (*((int16_t *)(0x1FFFFA86))) //ADC½Ø¾à£¬³ý100ºóʹÓ㬵¥Î»mV // ÍⲿÀÛ¼Ó #define const_adc_Slope (*((uint16_t *)(0x1FFFFA88))) // ADCбÂÊ£¬³ý1000ºóʹÓà #define const_adc_Offset (*((int16_t *)(0x1FFFFA8A))) // ADC½Ø¾à£¬³ý100ºóʹÓ㬵¥Î»mV // ÄÚ²¿ÀÛ¼Ó ÎÂ¶È #define const_T_30 *(uint16_t *)0x1FFFFA92 // 0X640 30¶¨±êÖµ // ÍⲿÀÛ¼Ó ÎÂ¶È #define const_T_30_14BIT *(uint16_t *)0x1FFFFB54 // 0XÍⲿÀÛ¼Ó 16383£¨14bit£© 30¶¨±êÖµ #define AD_ALKA_BAT_REF_VOL 3.3 #define AD_ALKA_BAT_CH 12 //**PH3--->ADC_IN12 #define AD_ALKA_BAT_CNT 26 #define ALKA_VOL_COE 3.5 // 2.327 // ﮵çϵÊý±ä¸ü #define AD_LITH_BAT_REF_VOL 3.3 #define AD_LITH_BAT_CH 5 //**PF6--->ADC_IN5 #define AD_LITH_BAT_CNT 26 #define LITH_VOL_COE 4.3 // 3.304 typedef struct ad_data_get { u16 ad_get_address_p[50]; u32 ad_buffer_cnt; u8 ad_ch; } ad_data_s; void Adc_Init(ad_data_s *data_p); void ADC_DMA_Transmit(void); uint16 Get_vol_Average(ad_data_s *data_p); float get_alka_bat_voltage(void); float get_lith_bat_voltage(void); #endif