WXK
2023-09-14 f41e89f0825b39b4b98b8a82e9e8fd5c655de55d
Src/stm32l0xx_it.c
@@ -42,7 +42,9 @@
/* 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,20 +154,49 @@
void EXTI0_1_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_1_IRQn 0 */
   //GPIO_Toggle(MOTOR_GPIO_Port,MOTOR_Pin);
    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 */
//   HAL_LPTIM_DeInit(&hlptim1);
////HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
//HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);
//  /*Clear all related wakeup flags*/
//  __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
//  /*Re-enable all used wakeup sources: Pin1(PA.0)*/
//  HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
//  /*Enter the Standby mode*/
//  HAL_PWR_EnterSTANDBYMode();
   //DW_DISABLE;
  /* USER CODE END EXTI0_1_IRQn 1 */
}