yincheng.zhong
2023-06-28 81707230b1ff76500e158fbde1784e7c080e3e68
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 -----------------------------------------------*/
@@ -93,6 +95,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,15 +154,31 @@
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(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;   
@@ -167,7 +186,7 @@
      MOTOR_OFF;   
      }
      nomove_count = 0;
      waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
//      waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME;
   //   UsartInit();
      
      //   MOTOR_ON;