From 4b0f6f4a2e83d9e56364e12cd2855eb1ff21d38a Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期六, 20 五月 2023 11:22:41 +0800
Subject: [PATCH] 2

---
 Src/stm32l0xx_it.c |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c
index abed576..bc1446b 100644
--- a/Src/stm32l0xx_it.c
+++ b/Src/stm32l0xx_it.c
@@ -63,7 +63,7 @@
 /* USER CODE BEGIN EV */
 float motor_ontime=0;
 uint8_t userkey_state = 0;
-extern u8 active_flag;
+extern u8 active_flag,motorskip_flag,motor_state;
 /* USER CODE END EV */
 
 /******************************************************************************/
@@ -93,6 +93,7 @@
   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 */
   }
@@ -151,6 +152,7 @@
 void EXTI0_1_IRQHandler(void)
 {
   /* USER CODE BEGIN EXTI0_1_IRQn 0 */
+	SystemClock_Config();
 	if(GET_IMUINT)
 	{
 		nomove_count = 0;
@@ -158,17 +160,22 @@
 	
 		if(!GET_USERKEY)
 	{
-		userkey_state = 1;
-		
-		if(g_com_map[MOTOR_ENABLE])
-		{
-		MOTOR_ON;	
-		delay_ms(10);
-		MOTOR_OFF;	
-		}
+        if(motor_state)
+        {
+            motorskip_flag = 1;
+            JianXieMotorProcess();
+        }
+		//userkey_state = 1;
+//		
+//		if(g_com_map[MOTOR_ENABLE])
+//		{
+//		MOTOR_ON;	
+//		delay_ms(10);
+//		MOTOR_OFF;	
+//		}
 		nomove_count = 0;
-		waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
-		UsartInit();
+//		waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
+	//	UsartInit();
 		
 		//	MOTOR_ON;		
 	}
@@ -182,6 +189,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_14);
+  /* 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