From cf4d12fd8322cbb350dd3bc5af8c748e8790ac64 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 05 Jun 2024 17:38:06 +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