From 1baabdeaa771233bd719e6eb01dc6828d5c3f9cf Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期五, 11 八月 2023 12:37:59 +0800
Subject: [PATCH] 增加搜索模式减少时间片

---
 Src/stm32l0xx_it.c |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c
index 4225899..08b5087 100644
--- a/Src/stm32l0xx_it.c
+++ b/Src/stm32l0xx_it.c
@@ -43,6 +43,8 @@
 /* Private variables ---------------------------------------------------------*/
 /* USER CODE BEGIN PV */
 float nomove_count=0;
+float button_delay = 1;
+u16 button_start;
 /* USER CODE END PV */
 
 /* Private function prototypes -----------------------------------------------*/
@@ -152,21 +154,37 @@
 void EXTI0_1_IRQHandler(void)
 {
   /* USER CODE BEGIN EXTI0_1_IRQn 0 */
+    static u16 lastcount=0;
+    u16 count_diff;
+	SystemClock_Config();
 	if(GET_IMUINT)
 	{
 		nomove_count = 0;
 	}
 	
-		if(!GET_USERKEY)
+	if(!GET_USERKEY)
 	{
 		userkey_state = 1;
-		
-		if(g_com_map[MOTOR_ENABLE])
-		{
-		MOTOR_ON;	
-		delay_ms(10);
-		MOTOR_OFF;	
-		}
+		if(button_delay>=1)
+        {
+            button_start = GetLPTime();
+            button_delay = 0;
+        }else{
+            u16 button_time = GetLPTime()-button_start;
+           if(button_time<0)
+               button_time+=1000;
+           if(button_time>50&&button_time<300)
+           {
+            DoubleClickProcess();
+           }
+            
+        }
+//		if(g_com_map[MOTOR_ENABLE])
+//		{
+//		MOTOR_ON;	
+//		delay_ms(10);
+//		MOTOR_OFF;	
+//		}
 		nomove_count = 0;
 //		waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
 	//	UsartInit();
@@ -183,6 +201,20 @@
 }
 
 /**
+  * @brief This function handles EXTI line 4 to 15 interrupts.
+  */
+void EXTI4_15_IRQHandler(void)
+{
+  /* USER CODE BEGIN EXTI4_15_IRQn 0 */
+
+  /* USER CODE END EXTI4_15_IRQn 0 */
+  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8);
+  /* USER CODE BEGIN EXTI4_15_IRQn 1 */
+
+  /* USER CODE END EXTI4_15_IRQn 1 */
+}
+
+/**
   * @brief This function handles DMA1 channel 2 and channel 3 interrupts.
   */
 void DMA1_Channel2_3_IRQHandler(void)

--
Gitblit v1.9.3