forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

周巍
2024-04-11 91ef77c00ed797b1048c5187f416e351e646a009
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#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