From bb14f348f2eb7527ac33e4f12e17bd726c42859a Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 28 二月 2025 18:16:46 +0800
Subject: [PATCH] 增加按键宏定义但按键第二行到第四行按下无响应

---
 keil/include/main/main.c |  425 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 258 insertions(+), 167 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 1784f47..8053145 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -76,7 +76,22 @@
 #define WARING_LIMIT_TIME 10
 #define UPDATE_TIME 10
 
-
+#define GREEN 1
+#define UP_TOWARD 2
+#define DOWN_TOWARD 3
+#define RED 4
+#define BRT 5
+#define SAVE 6
+#define STEP 7
+#define SCAN 8
+#define WIN 9
+#define TXP 10
+#define SFT_D 11
+#define O 12
+#define VOX 13
+#define SQL 14
+#define ROGER 15
+#define KEY 16
 extern uint8_t mUsartReceivePack[100];
 extern uint8_t mUsart2ReceivePack[150];
 extern uint8_t state5V_prase_flag,gps_prase_flag;
@@ -257,53 +272,54 @@
 }
 uint8_t link_error_time;
 void SecondTask(void)
-{static uint8_t second_count;
+{
+	static uint8_t second_count;
     if(second_count++>60)
     {
         second_count = 0;
         MinuteTask();
     }
-		if(!power_low_flag)
-		{Gps_change();
-		MotorPoll();
-		}else{
-		gps_power_state=0;//关闭GPS
-		update_led_power_state();
-		//初始化GPS计数数据
-		gps_need_data_flag=1;
-		gps_wait_count2=0;
-		gps_wait_count=0;
-		}
+//		if(!power_low_flag)
+//		{Gps_change();
+//		MotorPoll();
+//		}else{
+//		gps_power_state=0;//关闭GPS
+//		update_led_power_state();
+//		//初始化GPS计数数据
+//		gps_need_data_flag=1;
+//		gps_wait_count2=0;
+//		gps_wait_count=0;
+//		}
 		
-    //UWB状态检测
-if(!power_low_flag)//低供电下不需要检测重连
-	{
-    if(IfTCPConnected())
-    {
-//				link_error_time=0;
-        TCP_reconnect_timer =0;
-        flag_TCP_reconnectting = 0;
-    } else {
-        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
-        {
-            flag_TCP_reconnectting = 1;
-        } else {
-					//flag_TCP_reconnectting = 0;
-            sys_reset(4);//重连不上就复位
-        }
-        if(TCP_reconnect_timer++>600)
-        {
-            TCP_reconnect_timer = 0;
-        }
+//    //UWB状态检测
+//if(!power_low_flag)//低供电下不需要检测重连
+//	{
+//    if(IfTCPConnected())
+//    {
+////				link_error_time=0;
+//        TCP_reconnect_timer =0;
+//        flag_TCP_reconnectting = 0;
+//    } else {
+//        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
+//        {
+//            flag_TCP_reconnectting = 1;
+//        } else {
+//					//flag_TCP_reconnectting = 0;
+//            sys_reset(4);//重连不上就复位
+//        }
+//        if(TCP_reconnect_timer++>600)
+//        {
+//            TCP_reconnect_timer = 0;
+//        }
 
-    }
-	}
-    HIDO_TimerTick();
-		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
-    nomove_count++;
-		else{
-		nomove_count=g_com_map[NOMOVESLEEP_TIME]+1;
-		}
+//    }
+//	}
+//    HIDO_TimerTick();
+//		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
+//    nomove_count++;
+//		else{
+//		nomove_count=g_com_map[NOMOVESLEEP_TIME]+1;
+//		}
 }
 uint8_t tt=1;
 uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
@@ -384,7 +400,203 @@
 }
 
 
-
+uint8_t key_num;
+ void board_key_scan(uint8_t *key)
+ {
+	 uint8_t key_down_flag=0;
+	//第一行拉低做检测
+	 gpio_pin_clr(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4);
+	 if(!gpio_pin_get_val(COM1)||!gpio_pin_get_val(COM2)||!gpio_pin_get_val(COM3)||!gpio_pin_get_val(COM4))
+	 {
+	 if(!gpio_pin_get_val(COM1))
+	 {
+	 key_down_flag=1;
+	 *key=GREEN; 
+		 while(!gpio_pin_get_val(COM1));
+	 }else if(!gpio_pin_get_val(COM2))
+	 {
+	 key_down_flag=1;
+	 *key=UP_TOWARD; 
+		 while(!gpio_pin_get_val(COM2));
+	 }else if (!gpio_pin_get_val(COM3))
+	 {
+	 key_down_flag=1;
+	 *key=DOWN_TOWARD; 
+		 while(!gpio_pin_get_val(COM3));
+	 }else if (!gpio_pin_get_val(COM4))
+	 {
+	 key_down_flag=1;
+	 *key=RED; 
+		while(!gpio_pin_get_val(COM4));
+	 }else{
+	 key_down_flag=0;
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4); 
+	 }
+	 	//第二行拉低做检测
+	 gpio_pin_set(CN1);
+	 gpio_pin_clr(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4);
+	 	 if(!gpio_pin_get_val(COM1))
+	 {
+	 key_down_flag=1;
+	 *key=BRT; 
+		 while(!gpio_pin_get_val(COM1));
+	 }else if(!gpio_pin_get_val(COM2))
+	 {
+	 key_down_flag=1;
+	 *key=SAVE; 
+		 while(!gpio_pin_get_val(COM2));
+	 }else if (!gpio_pin_get_val(COM3))
+	 {
+	 key_down_flag=1;
+	 *key=STEP; 
+		 while(!gpio_pin_get_val(COM3));
+	 }else if (!gpio_pin_get_val(COM4))
+	 {
+	 key_down_flag=1;
+	 *key=SCAN; 
+		while(!gpio_pin_get_val(COM4));
+	 }else{
+	 key_down_flag=0;
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4); 
+	 }
+	 
+	 	 	//第三行拉低做检测
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_clr(CN3);
+	 gpio_pin_set(CN4);
+	 if(!gpio_pin_get_val(COM1))
+	 {
+	 key_down_flag=1;
+	 *key=WIN; 
+		 while(!gpio_pin_get_val(COM1));
+	 }else if(!gpio_pin_get_val(COM2))
+	 {
+	 key_down_flag=1;
+	 *key=TXP; 
+		 while(!gpio_pin_get_val(COM2));
+	 }else if (!gpio_pin_get_val(COM3))
+	 {
+	 key_down_flag=1;
+	 *key=SFT_D; 
+		 while(!gpio_pin_get_val(COM3));
+	 }else if (!gpio_pin_get_val(COM4))
+	 {
+	 key_down_flag=1;
+	 *key=O; 
+		while(!gpio_pin_get_val(COM4));
+	 }else{
+	 key_down_flag=0;
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4); 
+	 }
+	 	//第四行拉低做检测
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_clr(CN4);
+	 if(!gpio_pin_get_val(COM1))
+	 {
+	 key_down_flag=1;
+	 *key=VOX; 
+		 while(!gpio_pin_get_val(COM1));
+	 }else if(!gpio_pin_get_val(COM2))
+	 {
+	 key_down_flag=1;
+	 *key=SQL; 
+		 while(!gpio_pin_get_val(COM2));
+	 }else if (!gpio_pin_get_val(COM3))
+	 {
+	 key_down_flag=1;
+	 *key=ROGER; 
+		 while(!gpio_pin_get_val(COM3));
+	 }else if (!gpio_pin_get_val(COM4))
+	 {
+	 key_down_flag=1;
+	 *key=KEY; 
+		while(!gpio_pin_get_val(COM4));
+	 }else{
+	 key_down_flag=0;
+	 gpio_pin_set(CN1);
+	 gpio_pin_set(CN2);
+	 gpio_pin_set(CN3);
+	 gpio_pin_set(CN4); 
+	 }
+	 }
+ }
+ 
+void board_key_message(uint8_t *key)
+{
+	switch(*key){
+		case 0:
+			
+		break;
+		case 1:
+			
+		break;
+		
+		case 2:
+		
+		break;
+		
+		case 3:
+		
+		break;
+		case 4:
+		
+		break;
+		case 5:
+		
+		break;
+		case 6:
+		
+		break;
+		case 7:
+		
+		break;
+		case 8:
+		
+		break;
+		case 9:
+		
+		break;
+		case 10:
+		
+		break;
+		case 11:
+		
+		break;
+		case 12:
+		
+		break;
+		case 13:
+		
+		break;
+		case 14:
+		
+		break;
+		case 15:
+		
+		break;
+		case 16:
+		
+		break;
+}
+										
+}
 void IdleTask(void)
 {
 //    if(gpio_pin_get_val(INPUT_5V_Pin))
@@ -413,6 +625,8 @@
 //            //UartDeinit();
 //        }
 //    }
+		board_key_scan(&key_num);
+		board_key_message(&key_num);
 		UART_CheckReceive();
 }
 void boot_deinit(void)
@@ -446,130 +660,7 @@
         .int_en = true,
         .callback = app_wdt_callback,
     };
- void board_key_scan(uint8_t *key)
- {
-	 uint8_t key_down_flag=0;
-	//第一行拉低做检测
-	 gpio_pin_clr(CN1);
-	 gpio_pin_set(CN2);
-	 gpio_pin_set(CN3);
-	 gpio_pin_set(CN4);
-	 if(!gpio_pin_get_val(COM1)||!gpio_pin_get_val(COM2)||!gpio_pin_get_val(COM3)||!gpio_pin_get_val(COM4))
-	 {
-	 if(!gpio_pin_get_val(COM1))
-	 {
-	 key_down_flag=1;
-	 *key=1; 
-		 while(!gpio_pin_get_val(COM1));
-	 }else if(!gpio_pin_get_val(COM2))
-	 {
-	 key_down_flag=1;
-	 *key=2; 
-		 while(!gpio_pin_get_val(COM2));
-	 }else if (!gpio_pin_get_val(COM3))
-	 {
-	 key_down_flag=1;
-	 *key=3; 
-		 while(!gpio_pin_get_val(COM3));
-	 }else if (!gpio_pin_get_val(COM4))
-	 {
-	 key_down_flag=1;
-	 *key=4; 
-		while(!gpio_pin_get_val(COM4));
-	 }else{
-	 key_down_flag=0;
-		 
-	 }
-	 	//第二行拉低做检测
-	 gpio_pin_set(CN1);
-	 gpio_pin_clr(CN2);
-	 gpio_pin_set(CN3);
-	 gpio_pin_set(CN4);
-	 	 if(!gpio_pin_get_val(COM1))
-	 {
-	 key_down_flag=1;
-	 *key=5; 
-		 while(!gpio_pin_get_val(COM1));
-	 }else if(!gpio_pin_get_val(COM2))
-	 {
-	 key_down_flag=1;
-	 *key=6; 
-		 while(!gpio_pin_get_val(COM2));
-	 }else if (!gpio_pin_get_val(COM3))
-	 {
-	 key_down_flag=1;
-	 *key=7; 
-		 while(!gpio_pin_get_val(COM3));
-	 }else if (!gpio_pin_get_val(COM4))
-	 {
-	 key_down_flag=1;
-	 *key=8; 
-		while(!gpio_pin_get_val(COM4));
-	 }else{
-	 key_down_flag=0;
-		 
-	 }
-	 
-	 	 	//第三行拉低做检测
-	 gpio_pin_set(CN1);
-	 gpio_pin_set(CN2);
-	 gpio_pin_clr(CN3);
-	 gpio_pin_set(CN4);
-	 if(!gpio_pin_get_val(COM1))
-	 {
-	 key_down_flag=1;
-	 *key=9; 
-		 while(!gpio_pin_get_val(COM1));
-	 }else if(!gpio_pin_get_val(COM2))
-	 {
-	 key_down_flag=1;
-	 *key=10; 
-		 while(!gpio_pin_get_val(COM2));
-	 }else if (!gpio_pin_get_val(COM3))
-	 {
-	 key_down_flag=1;
-	 *key=11; 
-		 while(!gpio_pin_get_val(COM3));
-	 }else if (!gpio_pin_get_val(COM4))
-	 {
-	 key_down_flag=1;
-	 *key=12; 
-		while(!gpio_pin_get_val(COM4));
-	 }else{
-	 key_down_flag=0;
-		 
-	 }
-	 	//第四行拉低做检测
-	 gpio_pin_set(CN1);
-	 gpio_pin_set(CN2);
-	 gpio_pin_set(CN3);
-	 gpio_pin_clr(CN4);
-	 if(!gpio_pin_get_val(COM1))
-	 {
-	 key_down_flag=1;
-	 *key=13; 
-		 while(!gpio_pin_get_val(COM1));
-	 }else if(!gpio_pin_get_val(COM2))
-	 {
-	 key_down_flag=1;
-	 *key=14; 
-		 while(!gpio_pin_get_val(COM2));
-	 }else if (!gpio_pin_get_val(COM3))
-	 {
-	 key_down_flag=1;
-	 *key=15; 
-		 while(!gpio_pin_get_val(COM3));
-	 }else if (!gpio_pin_get_val(COM4))
-	 {
-	 key_down_flag=1;
-	 *key=16; 
-		while(!gpio_pin_get_val(COM4));
-	 }else{
-	 key_down_flag=0;
-		 
-	 }
-	 }
- }
+ 
 int main(void)
 {
     board_clock_run();
@@ -609,7 +700,6 @@
 
 //    adc_open(&usr_adc_cfg);
 		board_gpio_init();
-		key_board_init();
 //    IIC2_Init();
 //    Accelerometer_Init();
 //    io_pin_mux_set(SCL_PIN, IO_FUNC0);//测试测距波形
@@ -636,6 +726,7 @@
 		
     while (1)
     {
+			
 //			if(!power_low_flag)//确认是否休眠下才开启功能
 //			{
 //        if(flag_TCP_reconnectting||IfTCPConnected())

--
Gitblit v1.9.3