From b39a40b0191e0a8b155db74e885ff66e17b91896 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 06 Jun 2024 19:25:15 +0800
Subject: [PATCH] 继续完善
---
Function/POWER_MANAGE/power_manage.c | 92 +++++++++++++++++++++++++++++++++-------------
1 files changed, 66 insertions(+), 26 deletions(-)
diff --git a/Function/POWER_MANAGE/power_manage.c b/Function/POWER_MANAGE/power_manage.c
index 3ced23d..a06ed1b 100644
--- a/Function/POWER_MANAGE/power_manage.c
+++ b/Function/POWER_MANAGE/power_manage.c
@@ -45,6 +45,7 @@
{
CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱ�ӣ�GPIO��ʹ�ܺ���
AnalogIO(LIT_ADC_PORT,LIT_ADC_PIN);//
+ GPIOx_ANEN_Setable(LIT_ADC_PORT,LIT_ADC_PIN,ENABLE);
OutputIO(LITH_DETECTION_PORT,LITH_DETECTION_PIN,OUT_PUSHPULL);
// AnalogIO(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN);
@@ -54,6 +55,7 @@
{
CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱ�ӣ�GPIO��ʹ�ܺ���
AnalogIO_H(ALK_ADC_PIN);
+// GPIOx_ANEN_Setable(ALK_ADC_PORT,ALK_ADC_PIN,ENABLE);
OutputIO(ALKA_DETECTION_PORT,ALKA_DETECTION_PIN,OUT_PUSHPULL);
}
@@ -67,7 +69,7 @@
void borrow_Pwr_GPIO_Clk_Init(void)
{
CMU_PERCLK_SetableEx(PADCLK, ENABLE); //PADʱ�ӣ�GPIO��ʹ�ܺ���
- InputtIO( BORROW_PWR_PORT, BORROW_PWR_PIN, IN_NORMAL);
+ OutputIO( BORROW_PWR_PORT, BORROW_PWR_PIN, OUT_PUSHPULL);
}
@@ -394,13 +396,18 @@
}
//������ȷ��
- if(pwr_vol_p->alka_lose_check_flag == SET){
- pwr_vol_p->alka_lose_check_flag = RESET;
+// if(pwr_vol_p->alka_lose_check_flag == SET){ //��ʱû���жϴ�����ע�͵�
+// pwr_vol_p->alka_lose_check_flag = RESET;
if(ALKA_PWR_LOSE_IO_READ == Bit_RESET){
- //ȷ��﮵����
- __SYS_STATUS_ALARM_BYTES_SET(alka_remove,ALARM_ID_ALKA_BAT_REMOVAL);
+ delay_ms(10);
+ if(ALKA_PWR_LOSE_IO_READ == Bit_RESET){
+ //ȷ��﮵����
+ __SYS_STATUS_ALARM_BYTES_SET(alka_remove,ALARM_ID_ALKA_BAT_REMOVAL);
+ }
+ }else{
+ __SYS_STATUS_BYTES_STATUS(alka_remove, RESET, ALARM_ID_ALKA_BAT_REMOVAL);
}
- }
+// }
@@ -410,11 +417,11 @@
Lith_Bat_Voltage_Status(pwr_vol_p->lith_vcc,pwr_vol_p);
}
-// if((pwr_vol_p->alka_flag != AMS_NONE)&&(delay_time_cnt >= DELAY_TIME) ){
-// pwr_vol_p->alka_flag = AMS_PERIOD;
-// pwr_vol_p->alka_vcc = Get_Alka_Bat_Voltage();//�����
-// Alka_Bat_Voltage_Status(pwr_vol_p->alka_vcc,pwr_vol_p);
-// }
+ if((pwr_vol_p->alka_flag != AMS_NONE)&&(delay_time_cnt >= DELAY_TIME) ){
+ pwr_vol_p->alka_flag = AMS_NONE;
+ pwr_vol_p->alka_vcc = Get_Alka_Bat_Voltage();//�����
+ Alka_Bat_Voltage_Status(pwr_vol_p->alka_vcc,pwr_vol_p);
+ }
if(pwr_vol_p->mcu_temp_flag == SET){
pwr_vol_p->mcu_temp_flag = RESET;
@@ -481,20 +488,50 @@
if(pwr_vol_p->ex_pwr_in_cnt >=EX_PWR_CONTINUE_TIME){
if(__SYS_STATUS_BYTES_GET(power_state) != SET){
EX_PWR_ON;
- __SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL);
+ __SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL); //��״̬�����뱨����ʾ
//������֮�������Ƴ��жϣ�����Ƴ�Ҫ�����л���ع���
GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, ENABLE);
up_comm_uart_enable();//���ʱʹ����λ������
+ uart_ctrl_para_g.UP_COMM_rxto_flag = RESET;
+ lcd_first_wake_up_flag_g = SET; //�����������Ļ�����ֳ���
- //?������仯����
+ //���ر�
+ borrow_Pwr_GPIO_Clk_Init();
+ BORROW_PWR_OFF;
+
+ //?������仯��������籨�����������ֻ�����������أ�����ʾ������
+ if(__SYS_ALARM_CTL_BYTES_GET(power_state)){
+ if(__SYS_ALARM_REPORT_CTL_BYTES_GET(power_state) ==SET){
+ if(AlarmCntIncrease(ALARM_ID_EX_POWER_STATUS_CHANGE) ==SET){
+ system_alarm_word_g.alarm_word.power_state = SET;
+ AlarmTriggerWrcFlag = SET;
+ }
+ }
+ }
+
}
}
}else
{
GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, DISABLE);
EX_PWR_OFF;
- __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
+ pwr_vol_p->ex_pwr_in_cnt = 0;
+ //?������仯��������籨��������Ƴ����������뷧�أ�����ʾ������
+ if(__SYS_STATUS_BYTES_GET(power_state) ==SET){
+ __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);//��״̬�����뱨����ʾ
+ if(__SYS_ALARM_CTL_BYTES_GET(power_state)){
+ system_alarm_word_for_valve_g.alarm_word.power_state = SET; //����Ƴ�����Ҫ��������
+ if(__SYS_ALARM_REPORT_CTL_BYTES_GET(power_state) ==SET){
+ if(AlarmCntIncrease(ALARM_ID_EX_POWER_STATUS_CHANGE) ==SET){
+ system_alarm_word_g.alarm_word.power_state = SET;
+ AlarmTriggerWrcFlag = SET;
+ }
+ }
+ }
+ }
+ //����Ƴ��ڽ�ֹ��Ҳ����������ǰ��ֹ
+
// if((pwr_vol_p->ex_pwr_in_cnt!=0)&&(pwr_vol_p->ex_pwr_in_cnt!=EX_PWR_CONTINUE_TIME)){
// //������;״̬�ı䣬���ܴ�����粻�ȶ���Ƶ��������
@@ -507,7 +544,6 @@
// if(__SYS_STATUS_BYTES_GET(power_state) != RESET){
// EX_PWR_OFF;
// __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
-// //?������仯����
// }
// }
}
@@ -531,17 +567,17 @@
__SYS_STATUS_BYTES_STATUS(lith_low, RESET, ALARM_ID_LITH_BAT_LOW);
}
-// pwr_vol_g.alka_vcc = Get_Alka_Bat_Voltage();//�����
-// if(pwr_vol_g.alka_vcc < bat_para_g.alka_bat_under_v*0.1){
-// __SYS_STATUS_BYTES_STATUS(alka_down, SET, ALARM_ID_ALKA_BAT_DOWN);
-// __SYS_STATUS_BYTES_STATUS(alka_low, SET, ALARM_ID_ALKA_BAT_LOW);
-// }else if(pwr_vol_g.alka_vcc < bat_para_g.alka_bat_low_v*0.1){
-// __SYS_STATUS_BYTES_STATUS(alka_down, RESET, ALARM_ID_ALKA_BAT_DOWN);
-// __SYS_STATUS_BYTES_STATUS(alka_low, SET, ALARM_ID_ALKA_BAT_LOW);
-// }else{
-// __SYS_STATUS_BYTES_STATUS(alka_down, RESET, ALARM_ID_ALKA_BAT_DOWN);
-// __SYS_STATUS_BYTES_STATUS(alka_low, RESET, ALARM_ID_ALKA_BAT_LOW);
-// }
+ pwr_vol_g.alka_vcc = Get_Alka_Bat_Voltage();//�����
+ if(pwr_vol_g.alka_vcc < bat_para_g.alka_bat_under_v*0.1){
+ __SYS_STATUS_BYTES_STATUS(alka_down, SET, ALARM_ID_ALKA_BAT_DOWN);
+ __SYS_STATUS_BYTES_STATUS(alka_low, SET, ALARM_ID_ALKA_BAT_LOW);
+ }else if(pwr_vol_g.alka_vcc < bat_para_g.alka_bat_low_v*0.1){
+ __SYS_STATUS_BYTES_STATUS(alka_down, RESET, ALARM_ID_ALKA_BAT_DOWN);
+ __SYS_STATUS_BYTES_STATUS(alka_low, SET, ALARM_ID_ALKA_BAT_LOW);
+ }else{
+ __SYS_STATUS_BYTES_STATUS(alka_down, RESET, ALARM_ID_ALKA_BAT_DOWN);
+ __SYS_STATUS_BYTES_STATUS(alka_low, RESET, ALARM_ID_ALKA_BAT_LOW);
+ }
//�����,HWID0������
EX_Pwr_GPIO_Clk_Init();
@@ -550,6 +586,10 @@
if(HWIDO_EX_PWR_IO_READ == Bit_RESET){
EX_PWR_ON;
__SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL);
+ //������֮�������Ƴ��жϣ�����Ƴ�Ҫ�����л���ع���
+ GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, ENABLE);
+
+ up_comm_uart_enable();//���ʱʹ����λ������
}else{
EX_PWR_OFF;
__SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
--
Gitblit v1.9.3