yincheng.zhong
2024-03-01 e709bfae051d9888674f64e3d262ce7b7969db46
Src/stm32l0xx_it.c
@@ -32,7 +32,7 @@
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
@@ -42,7 +42,7 @@
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
float nomove_count=0;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
@@ -59,25 +59,26 @@
extern LPTIM_HandleTypeDef hlptim1;
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern UART_HandleTypeDef hlpuart1;
extern UART_HandleTypeDef huart1;
/* USER CODE BEGIN EV */
/* 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.
  */
void NMI_Handler(void)
{
  /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
    /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
  /* USER CODE END NonMaskableInt_IRQn 0 */
  /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
    /* USER CODE END NonMaskableInt_IRQn 0 */
    /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
  /* USER CODE END NonMaskableInt_IRQn 1 */
    /* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
@@ -85,14 +86,15 @@
  */
void HardFault_Handler(void)
{
  /* USER CODE BEGIN HardFault_IRQn 0 */
    /* USER CODE BEGIN HardFault_IRQn 0 */
  /* USER CODE END HardFault_IRQn 0 */
  while (1)
  {
    /* USER CODE BEGIN W1_HardFault_IRQn 0 */
    /* USER CODE END W1_HardFault_IRQn 0 */
  }
    /* USER CODE END HardFault_IRQn 0 */
    while (1)
    {
        /* USER CODE BEGIN W1_HardFault_IRQn 0 */
        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader
        /* USER CODE END W1_HardFault_IRQn 0 */
    }
}
/**
@@ -100,12 +102,12 @@
  */
void SVC_Handler(void)
{
  /* USER CODE BEGIN SVC_IRQn 0 */
    /* USER CODE BEGIN SVC_IRQn 0 */
  /* USER CODE END SVC_IRQn 0 */
  /* USER CODE BEGIN SVC_IRQn 1 */
    /* USER CODE END SVC_IRQn 0 */
    /* USER CODE BEGIN SVC_IRQn 1 */
  /* USER CODE END SVC_IRQn 1 */
    /* USER CODE END SVC_IRQn 1 */
}
/**
@@ -113,12 +115,12 @@
  */
void PendSV_Handler(void)
{
  /* USER CODE BEGIN PendSV_IRQn 0 */
    /* USER CODE BEGIN PendSV_IRQn 0 */
  /* USER CODE END PendSV_IRQn 0 */
  /* USER CODE BEGIN PendSV_IRQn 1 */
    /* USER CODE END PendSV_IRQn 0 */
    /* USER CODE BEGIN PendSV_IRQn 1 */
  /* USER CODE END PendSV_IRQn 1 */
    /* USER CODE END PendSV_IRQn 1 */
}
/**
@@ -126,13 +128,13 @@
  */
void SysTick_Handler(void)
{
  /* USER CODE BEGIN SysTick_IRQn 0 */
    /* USER CODE BEGIN SysTick_IRQn 0 */
  /* USER CODE END SysTick_IRQn 0 */
  HAL_IncTick();
  /* USER CODE BEGIN SysTick_IRQn 1 */
    /* USER CODE END SysTick_IRQn 0 */
    HAL_IncTick();
    /* USER CODE BEGIN SysTick_IRQn 1 */
  /* USER CODE END SysTick_IRQn 1 */
    /* USER CODE END SysTick_IRQn 1 */
}
/******************************************************************************/
@@ -147,22 +149,40 @@
  */
void EXTI0_1_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI0_1_IRQn 0 */
   //GPIO_Toggle(MOTOR_GPIO_Port,MOTOR_Pin);
  /* 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();
  /* USER CODE END EXTI0_1_IRQn 1 */
    /* USER CODE BEGIN EXTI0_1_IRQn 0 */
    if(GET_IMUINT)
    {
        nomove_count = 0;
    }
    if(!GET_USERKEY)
    {
        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;
    /* USER CODE END EXTI0_1_IRQn 1 */
}
/**
  * @brief This function handles EXTI line 2 and line 3 interrupts.
  */
void EXTI2_3_IRQHandler(void)
{
    /* USER CODE BEGIN EXTI2_3_IRQn 0 */
    /* USER CODE END EXTI2_3_IRQn 0 */
    HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
    /* USER CODE BEGIN EXTI2_3_IRQn 1 */
    /* USER CODE END EXTI2_3_IRQn 1 */
}
/**
@@ -170,14 +190,14 @@
  */
void DMA1_Channel2_3_IRQHandler(void)
{
  /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */
    /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */
  /* USER CODE END DMA1_Channel2_3_IRQn 0 */
  HAL_DMA_IRQHandler(&hdma_usart1_tx);
  HAL_DMA_IRQHandler(&hdma_usart1_rx);
  /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */
    /* USER CODE END DMA1_Channel2_3_IRQn 0 */
    HAL_DMA_IRQHandler(&hdma_usart1_tx);
    HAL_DMA_IRQHandler(&hdma_usart1_rx);
    /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */
  /* USER CODE END DMA1_Channel2_3_IRQn 1 */
    /* USER CODE END DMA1_Channel2_3_IRQn 1 */
}
/**
@@ -185,14 +205,13 @@
  */
void LPTIM1_IRQHandler(void)
{
  /* USER CODE BEGIN LPTIM1_IRQn 0 */
    /* USER CODE BEGIN LPTIM1_IRQn 0 */
  /* USER CODE END LPTIM1_IRQn 0 */
  HAL_LPTIM_IRQHandler(&hlptim1);
  /* USER CODE BEGIN LPTIM1_IRQn 1 */
    /* USER CODE END LPTIM1_IRQn 0 */
    HAL_LPTIM_IRQHandler(&hlptim1);
    /* USER CODE BEGIN LPTIM1_IRQn 1 */
  /* USER CODE END LPTIM1_IRQn 1 */
    /* USER CODE END LPTIM1_IRQn 1 */
}
/**
@@ -200,13 +219,27 @@
  */
void USART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART1_IRQn 0 */
 __HAL_UART_CLEAR_IDLEFLAG(&huart1);
  /* USER CODE END USART1_IRQn 0 */
  HAL_UART_IRQHandler(&huart1);
  /* USER CODE BEGIN USART1_IRQn 1 */
    /* USER CODE BEGIN USART1_IRQn 0 */
    __HAL_UART_CLEAR_IDLEFLAG(&huart1);
    /* USER CODE END USART1_IRQn 0 */
    HAL_UART_IRQHandler(&huart1);
    /* USER CODE BEGIN USART1_IRQn 1 */
  /* USER CODE END USART1_IRQn 1 */
    /* USER CODE END USART1_IRQn 1 */
}
/**
  * @brief This function handles LPUART1 global interrupt / LPUART1 wake-up interrupt through EXTI line 28.
  */
void LPUART1_IRQHandler(void)
{
    /* USER CODE BEGIN LPUART1_IRQn 0 */
    /* USER CODE END LPUART1_IRQn 0 */
    HAL_UART_IRQHandler(&hlpuart1);
    /* USER CODE BEGIN LPUART1_IRQn 1 */
    /* USER CODE END LPUART1_IRQn 1 */
}
/* USER CODE BEGIN 1 */