From 81707230b1ff76500e158fbde1784e7c080e3e68 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期三, 28 六月 2023 14:42:47 +0800
Subject: [PATCH] V2.52

---
 Src/stm32l0xx_it.c |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c
index 012e63e..45a2638 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 -----------------------------------------------*/
@@ -61,11 +63,13 @@
 extern DMA_HandleTypeDef hdma_usart1_tx;
 extern UART_HandleTypeDef huart1;
 /* USER CODE BEGIN EV */
-
+float motor_ontime=0;
+uint8_t userkey_state = 0;
+extern u8 active_flag;
 /* USER CODE END EV */
 
 /******************************************************************************/
-/*           Cortex-M0+ Processor Interruption and Exception Handlers          */ 
+/*           Cortex-M0+ Processor Interruption and Exception Handlers          */
 /******************************************************************************/
 /**
   * @brief This function handles Non maskable interrupt.
@@ -91,6 +95,8 @@
   while (1)
   {
     /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+      printf("HardFault_Handler.\r\n");
+		SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
     /* USER CODE END W1_HardFault_IRQn 0 */
   }
 }
@@ -148,17 +154,49 @@
 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)
+	{
+		userkey_state = 1;
+		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();
+		
+		//	MOTOR_ON;		
 	}
 	
   /* USER CODE END EXTI0_1_IRQn 0 */
   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
   /* USER CODE BEGIN EXTI0_1_IRQn 1 */
-	//DW_DISABLE;
-	LED0_BLINK;		
+	//DW_DISABLE;	
   /* USER CODE END EXTI0_1_IRQn 1 */
 }
 

--
Gitblit v1.9.3