WXK
2023-09-14 f41e89f0825b39b4b98b8a82e9e8fd5c655de55d
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 */
}