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/KEY/key.c |   87 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 7 deletions(-)

diff --git a/Function/KEY/key.c b/Function/KEY/key.c
index f1870d1..84e7d16 100644
--- a/Function/KEY/key.c
+++ b/Function/KEY/key.c
@@ -1,17 +1,90 @@
 #include "key.h"
+#include "gpio.h"
+#include "lcd.h"
+#include "main.h"
+#include "system_run_fun.h"
 
-
-void key_interruptinit_disable(void)
+/*******************************************************************************
+ * Function Name: Key_GPIO_Init
+ * Parameters: none
+ * Return: none
+ * Description: 
+ ******************************************************************************/
+void Key_GPIO_Init(void)
 {
+	InputtIO(KEY1_PORT,KEY1_PIN,IN_NORMAL);  
+	InputtIO(KEY2_PORT,KEY2_PIN,IN_NORMAL);
+	InputtIO(KEY3_PORT,KEY3_PIN,IN_NORMAL);
+//	InputtIO(KEY4_PORT,KEY4_PIN,IN_PULLUP);
 }
 
-void key_interruptinit_enable(void)
+void Key_GPIO_Close(void)
 {
-
+	CloseIO(KEY2_PORT,KEY2_PIN);
+	CloseIO(KEY3_PORT,KEY3_PIN);
+//	InputtIO(KEY4_PORT,KEY4_PIN,IN_PULLUP);
 }
 
-void key_interruptinit(void)  
-{  
 
-}  
+
+void keyPro(void)
+{
+	static uint8_t P_Key1Cnt=0,R_Key2Cnt=0,L_Key3Cnt=0;
+	
+	P_Key1Cnt = (KEY1_IO_READ==Bit_RESET)? P_Key1Cnt+1:0;
+	R_Key2Cnt = (KEY2_IO_READ==Bit_RESET)? R_Key2Cnt+1:0;
+	L_Key3Cnt = (KEY3_IO_READ==Bit_RESET)? L_Key3Cnt+1:0;
+
+	
+	//���û�м���򰴼�2��3����Ч
+	if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) ==0){
+		R_Key2Cnt = L_Key3Cnt = 0;
+	}
+	
+	if(R_Key2Cnt== 5)
+	{
+		//�����Ҽ�����5������ѯģʽ
+		R_Key2Cnt = 0;
+		if(sys_display_para_g.sys_and_display_mode == NORMAL_MODE){
+			sys_display_para_g.sys_and_display_mode = DISPLAY_PARA;
+		}else if(sys_display_para_g.sys_and_display_mode == DISPLAY_PARA){
+			sys_display_para_g.sys_and_display_mode = NORMAL_MODE;
+		}else{
+			sys_display_para_g.sys_and_display_mode = NORMAL_MODE;
+		}
+	}
+	
+	
+	
+	/**����ĿǰKey2��key3�õ�PE14��PE15����û���жϣ���ʱֻ����ѯ��ѯ*/
+	if(P_Key1Cnt ==0 && R_Key2Cnt >0 && L_Key3Cnt ==0) //����key2 �Ҽ�
+	{
+		lcd_wake_up_flag_g = SET;
+		if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+			__SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+		}
+	}
+	
+	if(P_Key1Cnt ==0 && R_Key2Cnt ==0 && L_Key3Cnt >0) //����key3 ���
+	{
+		lcd_wake_up_flag_g = SET;
+		if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+				__SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+		}
+	}else if(P_Key1Cnt ==0 && R_Key2Cnt >0 && L_Key3Cnt >0) //����key2 + key3
+	{
+		lcd_wake_up_flag_g = SET;
+		if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+				__SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+		}
+		
+		//�ɼ����������ݲ������ϱ�
+		start_rs485_g = RS485_START_REASON_KEY;
+		start_wrc_g = WRC_MEANS_KEY;
+		
+	}
+	
+	
+	
+}
 

--
Gitblit v1.9.3