From deaf3df8a987f5cff0ac85c9f6ee12589c2c93ce Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Tue, 04 Jun 2024 20:00:52 +0800
Subject: [PATCH] 继续测试修改

---
 Function/POWER_MANAGE/power_manage.h |  108 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 76 insertions(+), 32 deletions(-)

diff --git a/Function/POWER_MANAGE/power_manage.h b/Function/POWER_MANAGE/power_manage.h
index e04f138..811ef95 100644
--- a/Function/POWER_MANAGE/power_manage.h
+++ b/Function/POWER_MANAGE/power_manage.h
@@ -2,47 +2,52 @@
 #define _POWER_MANAGE_H_
 
 #include "define_all.h" 
+#include "extern_rtc.h"
 
 // ����������־λ����
 #define __VCC_PARA_FLAG_SET_(__HANDLE__) ((&pwr_vol_g)->__HANDLE__ = SET)
 // ����������־λ���
 #define __VCC_PARA_FLAG_CLEAR_(__HANDLE__) ((&pwr_vol_g)->__HANDLE__ = RESET)
 
-// ﮵�͵�/����
-#define LITH_PWR_LOSE_PORT GPIOF
-#define LITH_PWR_LOSE_PIN 	GPIO_Pin_11
+// ﮵綪ʧ
+#define LITH_PWR_LOSE_PORT 	GPIOD
+#define LITH_PWR_LOSE_PIN 	GPIO_Pin_0
+#define	LITH_PWR_LOSE_IO_READ	GPIO_ReadInputDataBit(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN)
 
 // ﮵��⿪��
-#define LITHIUM_DETECTION_PORT	GPIOF
-#define LITHIUM_DETECTION_PIN		GPIO_Pin_3
+#define LITH_DETECTION_PORT	GPIOF
+#define LITH_DETECTION_PIN		GPIO_Pin_3
 
-#define LIT_DEC_ON		GPIO_SetBits(LITHIUM_DETECTION_PORT,LITHIUM_DETECTION_PIN)
-#define LIT_DEC_OFF		GPIO_ResetBits(LITHIUM_DETECTION_PORT,LITHIUM_DETECTION_PIN)
+#define LIT_DEC_ON		GPIO_SetBits(LITH_DETECTION_PORT,LITH_DETECTION_PIN)
+#define LIT_DEC_OFF		GPIO_ResetBits(LITH_DETECTION_PORT,LITH_DETECTION_PIN)
 
 
 // ��綪ʧ
-#define ALKALI_PWR_LOSE_PORT 	GPIOH
-#define ALKALI_PWR_LOSE_PIN 	GPIO_Pin_0
+#define ALKA_PWR_LOSE_PORT 	GPIOH        //?PH0û���жϣ�����Ҫ�ģ���ʱ�������ó��жϼ��
+#define ALKA_PWR_LOSE_PIN 	GPIO_Pin_0
+//#define	ALKA_PWR_LOSE_IO_READ	GPIO_ReadInputDataBit(ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN)
+#define	ALKA_PWR_LOSE_IO_READ	 GPIOH_ReadInputDataBit(ALKA_PWR_LOSE_PIN)
 
 // ����⿪��
-#define ALKALI_DETECTION_PORT 	GPIOF
-#define ALKALI_DETECTION_PIN 		GPIO_Pin_4
+#define ALKA_DETECTION_PORT 	GPIOF
+#define ALKA_DETECTION_PIN 		GPIO_Pin_4
 
-#define ALK_DEC_ON		GPIO_SetBits(ALKALI_DETECTION_PORT,ALKALI_DETECTION_PIN)
-#define ALK_DEC_OFF		GPIO_ResetBits(ALKALI_DETECTION_PORT,ALKALI_DETECTION_PIN)
+#define ALK_DEC_ON		GPIO_SetBits(ALKA_DETECTION_PORT,ALKA_DETECTION_PIN)
+#define ALK_DEC_OFF		GPIO_ResetBits(ALKA_DETECTION_PORT,ALKA_DETECTION_PIN)
 
 
 // ���
 #define BORROW_PWR_PORT GPIOG
 #define BORROW_PWR_PIN 	GPIO_Pin_2
 
-#define BORROW_PWR_ON		GPIO_ResetBits(BORROW_PWR_PORT,BORROW_PWR_PIN)
-#define BORROW_PWR_OFF	GPIO_SetBits(BORROW_PWR_PORT,BORROW_PWR_PIN)
+#define BORROW_PWR_ON		GPIO_SetBits(BORROW_PWR_PORT,BORROW_PWR_PIN)
+#define BORROW_PWR_OFF	GPIO_ResetBits(BORROW_PWR_PORT,BORROW_PWR_PIN)
 
 //�����˿�
 #define HWIDO_EX_PWR_PORT GPIOF
 #define HWIDO_EX_PWR_PIN 	GPIO_Pin_5
 
+#define	HWIDO_EX_PWR_IO_READ	GPIO_ReadInputDataBit(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN)
 
 //�����ƶ˿�
 #define EX_PWR_EN_PORT GPIOG
@@ -50,23 +55,22 @@
 #define EX_PWR_ON		GPIO_SetBits(EX_PWR_EN_PORT,EX_PWR_EN_PIN)
 #define EX_PWR_OFF	GPIO_ResetBits(EX_PWR_EN_PORT,EX_PWR_EN_PIN)
 
+//������������
+#define LIMIT_TRIGGER_PORT 	GPIOC
+#define LIMIT_TRIGGER_PIN 	GPIO_Pin_13
 
-#define	AD_LITH_PF6_BAT_CH			      				5
-#define	AD_LITH_PF6_BAT_CNT					    	  	8
-#define	LITH_PF6_VOL_COE					   					1.206f
 
-#define	AD_LITH_BAT_REF_VOL							  5.0f
-#define	AD_LITH_BAT_CH			      				4
-#define	AD_LITH_BAT_CNT					    	  	8
-#define	LITH_VOL_COE					   					2.01f
 
-#define	AD_ALKA_BAT_REF_VOL							  5.0f
-#define	AD_ALKA_BAT_CH			      				8
-#define	AD_ALKA_BAT_CNT					    	  	8
-#define	ALKA_VOL_COE					    				3.14f	
 
-#define AD_VTEM_CH												ADC_CFGR_BUFSEL_TS
-#define AD_VTEM_CNT												8
+
+
+
+
+//ʣ������ٷֱȼ���
+#define BAT_PERSENT_LEVEL_3  70
+#define BAT_PERSENT_LEVEL_2  40
+#define BAT_PERSENT_LEVEL_1  20
+#define BAT_PERSENT_LEVEL_0  0
 
 
 typedef enum
@@ -82,7 +86,18 @@
 	AMS_PERIOD,
 	AMS_KEY,
 	AMS_WRC_BEFORE,
+	AMS_VALVE_CTRL_BEFORE
 }ALKA_MEASURE_STATUS;
+
+typedef enum
+{
+	BAT_V_NONE,  //��״̬
+//	BAT_V_LOSE, //��ʧ��������ѹ���ͣ���Ϊ��ض�ʧ
+	BAT_V_DOWN, //Ƿѹ
+	BAT_V_LOW,  //�͵�
+}BAT_V_STATUS;
+
+
 
 #pragma	pack(1)
 //��������
@@ -95,31 +110,60 @@
 }ad_data_s;
 
 
+
+
 typedef struct pwr_vol{
 	LITH_MEASURE_STATUS lith_flag; //����������־λ
 	ALKA_MEASURE_STATUS alka_flag; 
   FlagStatus mcu_temp_flag; //mcu�¶ȱ�־λ
+	FlagStatus	lith_lose_check_flag;  //����﮵�������־
+	FlagStatus	alka_lose_check_flag;  //�������������־
 	float lith_vcc;
+	BAT_V_STATUS	lith_vcc_status;
 	float alka_vcc;
+	BAT_V_STATUS	alka_vcc_status;
   float mcu_temperature;
-	int8_t lith_vcc_per;
+	int8_t	lith_vcc_per; //���ݵ�ѹ����İٷֱ�
+	int8_t	lith_remain_use_time_per; //����ʹ��ʱ������ʣ��ٷֱ�
+	int8_t	lith_synthesize_per;  //���ݵ�ѹ��ʹ��ʱ��ϳɵİٷֱȣ����ն�������İٷֱ�
+	
+	int8_t	alka_vcc_per; //���ݵ�ѹ����İٷֱ�
+	
+	int8_t	ex_pwr_in_cnt;  //��������������
+	int8_t	ex_pwr_out_cnt; //��粻������������
+	
 }PWR_VOL_T;
+
 
 #pragma pack()
 
-extern uint8_t sys_bst_flag;
+typedef struct {
+	sClockBCD record_time_BCD;
+	uint32_t	trigger_times;
+	uint8_t RS485_running_flag;
+	uint8_t valve_running_flag;
+	uint8_t wrc_running_flag;
+	uint8_t	EXPWR_check_status; //�����״̬���Ƿ���������
+	uint8_t	EXPWR_ctrl_status;  //������״̬����ǰ�Ƿ�����繩��
+	
+}LIMIT_TRIGGER_RECORD_PARA_T;
+
+
 
 extern uint8_t first_power_get_cnt_g;
-
 extern PWR_VOL_T pwr_vol_g;
 
+extern	LIMIT_TRIGGER_RECORD_PARA_T limit_trigger_record_para_g;
+
 void Power_IO_Init(void);
+void borrow_Pwr_GPIO_Clk_Init(void);
 
 float Get_Alka_Bat_Voltage(void);
 float Get_Lith_Bat_Voltage(void);
 
-void GetBatVoltagePro(PWR_VOL_T * pwr_vol_p);
+void GetPwrStatusPro(PWR_VOL_T * pwr_vol_p);
 
+void PowerManagrInit(void);
 
 #endif
 

--
Gitblit v1.9.3