#ifndef _powermanage_H #define _powermanage_H #include "sys.h" #define BAT_TIME_SCALE4 (3*365*24) #define BAT_PERSENT_LCD_4 70 #define BAT_PERSENT_LCD_3 40 #define BAT_PERSENT_LCD_2 20 #define BAT_PERSENT_LCD_1 0 //ÍâµçÅжÏIO #define POWER_SELECT_DEC_PIN_NUM GPIO_Pin_2 #define POWER_SELECT_DEC_PIN_GROUP GPIOC //µôµçÅжÏIO £¬PC6µÍµçƽ±íʾµç³ØµçѹµÍÓÚ5V #define POWER_LOW_PIN_NUM GPIO_Pin_6 #define POWER_LOW_PIN_GROUP GPIOC #define POWER_LOW_PIN_READ PCin(6) //µç³Ø¼ì²âʹÄÜIO #define POWER_ELECTRIC_TEST_PIN_NUM GPIO_Pin_0 #define POWER_ELECTRIC_TEST_PIN_GROUP GPIOC #define POWER_ELECTRIC_TEST_HIGH PCout(0) = 1 #define POWER_ELECTRIC_TEST_LOW PCout(0) = 0 //µÍѹÐźŠ#define UNDERVOL_PIN_NUM GPIO_Pin_9 #define UNDERVOL_PIN_GROUP GPIOE //ǷѹÐźŠ#define LOWVOL_PIN_NUM GPIO_Pin_10 #define LOWVOL_PIN_GROUP GPIOE #define HIGH 0 #define LOW 1 //ÔÚб·´ÉäÁìÓòÉÏÓ²¼þÐźŷ¢ÉúÁ˱ä¸ü #define POWER_EXTERN 0 #define POWER_BAT 1 #define UNDERVOL_SIGNL_HIGH PEout(9) = 1; #define UNDERVOL_SIGNL_LOW PEout(9) = 0; #define LOWVOL_SIGNL_HIGH PEout(10) = 1; #define LOWVOL_SIGNL_LOW PEout(10) = 0; typedef struct bat_test_para { u8 BAT_Period_arrival; u8 BAT_Test_Key_Flag; u8 BAT_Test_Run_Flag; u8 BAT_Test_Time_Cnt; //¼ÆÊ±Ó㬼ì²âµçÔ´ÒªÏÈ´ò¿ª¼ì²â¹Ü½Å£¬ÔÙÑÓʱ²É¼¯µçѹ u8 BAT_Low_Time_Cnt; //¼ÆÊ±Ó㬵ôµçµÄʱºòÑÓʱÔÙ¼ì²â1µ½¶à´Î u8 lith_bat_Vol_low_flag; u8 lith_bat_Time_low_flag; u8 lith_bat_Vol_down_flag; u8 lith_bat_Time_down_flag; u8 lith_bat_low_flag; u8 lith_bat_down_flag; u8 lith_bat_replace_flag;//³ÖÐø°´¼ü9Ãë¸ü»»µç³Ø±êÖ¾ u8 BAT_Test_power_INIT_Flag; //¼ì²âµ½µôµçÖжϱêÖ¾ u8 Lith_low_pin_status_Flag; //﮵ç¶Ïµç¼ì²â½ÅPC6״̬£¬ 1´ú±í¸ßµçƽ£¬2´ú±íµÍµçƽ u8 Lith_removal_status_Flag; //﮵çÒÆ³ý״̬£¬1´ú±í﮵çÒÆ³ý£¬0´ú±í﮵çûÓÐÒÆ³ý¡£ u8 lith_bat_low_alarm_line_output; //µÍµç±¨¾¯ÏßÊä³ö¿ØÖÆ u8 lith_bat_down_alarm_line_output;//µôµç±¨¾¯ÏßÊä³ö¿ØÖÆ u16 lith_bat_low_alarm_line_cnt;//µÍµç±¨¾¯Ïß¼ÆÊ±£¬Ã¿Ð¡Ê±Êä³öÒ»´Î u16 lith_bat_down_alarm_line_cnt;//µÍµç±¨¾¯Ïß¼ÆÊ±£¬Ã¿Ð¡Ê±Êä³öÒ»´Î }BAT_TEST_PARA; extern BAT_TEST_PARA Bat_Test_Para; void Bat_Test_EN_io_dec_init(void); void Bat_Test_EN_io_dec_deinit(void); void HWIDO_EXPOW_io_dec_init(void); void HWIDO_EXPOW_io_dec_deinit(void); void Bat_Test_io_dec_init(void); void Bat_Test_io_dec_deinit(void); void Bat_Low_io_dec_init(void); void Bat_Low_io_dec_deinit(void); /*¶ÁÈ¡µçÔ´io ״̬*/ u8 power_io_get(void); void get_bat_voltage_Pro(void); /*Êä³öÂö³å*/ void lowvol_io_power(void); void lowvol_io_power_low(void); void lowvol_io_power_high(void); /*Êä³öÂö³å*/ void undervol_io_power(void); void undervol_io_power_low(void); void undervol_io_power_high(void); void undervol_io_power_init(void); void Bat_percent_change(void); #endif