From 6b0d1f644233b2984d2a87553de598879cf05caf Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Tue, 28 May 2024 17:24:59 +0800
Subject: [PATCH] 继续完善
---
HARDWARE/EXTI/exti.c | 74 +++++++++++++++++++++++++++++++++---
1 files changed, 67 insertions(+), 7 deletions(-)
diff --git a/HARDWARE/EXTI/exti.c b/HARDWARE/EXTI/exti.c
index f240803..6033ecb 100644
--- a/HARDWARE/EXTI/exti.c
+++ b/HARDWARE/EXTI/exti.c
@@ -10,6 +10,11 @@
#include "system_mem_para.h"
#include "system_run_fun.h"
#include "power_manage.h"
+#include "pulse_and_alarm_line.h"
+#include "tim.h"
+#include "wireless_remote_comm.h"
+#include "main.h"
+#include "lcd.h"
void NMI_Handler(void)
{
@@ -28,6 +33,7 @@
{
// if(__SYS_DELAY_SEC_FLAG_GET(sys_active_time) == SET && LargeCurrent_LimitingProcess() == 3)
SysWakeUp_ClockCfg();
+
if(GPIO_EXTI_EXTIISR_ChkEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN) == SET) //RTC�ж�
{
GPIO_EXTI_EXTIISR_ClrEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN);
@@ -43,12 +49,18 @@
}
// �ж�GPRS��ʱʱ��
- if (sys_delay_sec_para_g.gprs_timeout_para.delay_time)
+ if (sys_delay_sec_para_g.wrc_timeout_para.delay_time)
{
- if (!(--sys_delay_sec_para_g.gprs_timeout_para.delay_time))
- sys_delay_sec_para_g.gprs_timeout_para.delay_flag = SET;
+ if (!(--sys_delay_sec_para_g.wrc_timeout_para.delay_time))
+ sys_delay_sec_para_g.wrc_timeout_para.delay_flag = SET;
}
+ //wrc�ر�ʱ�䵹��ʱ
+ if (wrc_ctrl_para_g.wrc_restart_time_sec_cnt)
+ {
+ if (!(--wrc_ctrl_para_g.wrc_restart_time_sec_cnt))
+ ;
+ }
}
@@ -61,15 +73,18 @@
if(KEY3_IO_READ==Bit_RESET)
{
//����
-
+ if(__SYS_STATUS_BYTES_GET(account_state) == RESET ||__SYS_STATUS_BYTES_GET(valve_lock) == RESET )
+ ValveCtrlOrder(VC_OPEN);
}else if(KEY2_IO_READ==Bit_RESET)
{
//�ط�
-
+ if(__SYS_STATUS_BYTES_GET(account_state) == RESET)
+ ValveCtrlOrder(VC_OPEN);
}else
{
//������Դ
-
+ __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+ lcd_wake_up_flag_g = 1;
}
}
@@ -80,7 +95,10 @@
GPIO_EXTI_EXTIISR_ClrEx(KEY2_PORT, KEY2_PIN);
if(KEY2_IO_READ==Bit_RESET)
{
-
+ lcd_wake_up_flag_g = 1;
+ if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+ __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+ }
}
}
@@ -94,7 +112,14 @@
//�ɼ����������ݲ������ϱ�
start_rs485_g = RS485_START_REASON_KEY;
start_wrc_g = WRC_MEANS_KEY;
+ }else{
+ lcd_wake_up_flag_g = 1;
}
+
+ if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+ __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+ }
+
}
}
@@ -140,6 +165,41 @@
}
+ if(GPIO_EXTI_EXTIISR_ChkEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN) == SET) //�Ʒѵ�Ƶ����
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN);
+ //Ŀǰ�������Ʒ����幦����û�б����ò���Ҫ����
+ if(((flow_meter_para_g.broken_line_multiplex & BROKEN_LINE_MUTIPLEX_PULSE)!=BROKEN_LINE_MUTIPLEX_PULSE)&& \
+ ((flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_PULSE)||(flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_RS485_AND_PULSE))){
+ pulse_exti_flag = SET;
+ BTx_CR1_CHEN_Setable(BT1,ENABLE); //������ʱ��
+ }
+ }
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN) == SET) //����Ƴ��ж�
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN);
+ //����Ƴ��������ر�������
+ EX_PWR_OFF;
+// __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
+
+ }
+
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN) == SET) //��������
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN);
+ //��¼��������ʱ����Ϣ
+ arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g.year,&limit_trigger_record_para_g.record_time_BCD.year,sizeof(sys_clockBCD_g),LITTLE_ENDIAN);
+ limit_trigger_record_para_g.trigger_times ++;
+ limit_trigger_record_para_g.RS485_running_flag = sys_fun_run_ctrl_g.rs485_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.valve_running_flag = sys_fun_run_ctrl_g.valve_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.wrc_running_flag = sys_fun_run_ctrl_g.wrc_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.EXPWR_check_status = HWIDO_EX_PWR_IO_READ;
+ limit_trigger_record_para_g.EXPWR_ctrl_status = __SYS_STATUS_BYTES_GET(power_state);
+ }
+
+
// if(GPIO_EXTI_EXTIISR_ChkEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN) == SET)
// {
// GPIO_EXTI_EXTIISR_ClrEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN);
--
Gitblit v1.9.3