text: /* USER CODE BEGIN Header */
  /**
    ******************************************************************************
    * @file    stm32f1xx_it.c
    * @brief   Interrupt Service Routines.
    ******************************************************************************
    * @attention
    *
    * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
    * All rights reserved.</center></h2>
    *
    * This software component is licensed by ST under Ultimate Liberty license
    * SLA0044, the "License"; You may not use this file except in compliance with
    * the License. You may obtain a copy of the License at:
    *                             www.st.com/SLA0044
    *
    ******************************************************************************
    */
  /* USER CODE END Header */
  
  /* Includes ------------------------------------------------------------------*/
  #include "main.h"
  #include "stm32f1xx_it.h"
  /* Private includes ----------------------------------------------------------*/
  /* USER CODE BEGIN Includes */
  /* USER CODE END Includes */
  
  /* Private typedef -----------------------------------------------------------*/
  /* USER CODE BEGIN TD */
  
  /* USER CODE END TD */
  
  /* Private define ------------------------------------------------------------*/
  /* USER CODE BEGIN PD */
  
  /* USER CODE END PD */
  
  /* Private macro -------------------------------------------------------------*/
  /* USER CODE BEGIN PM */
  
  /* USER CODE END PM */
  
  /* Private variables ---------------------------------------------------------*/
  /* USER CODE BEGIN PV */
  
  /* USER CODE END PV */
  
  /* Private function prototypes -----------------------------------------------*/
  /* USER CODE BEGIN PFP */
  
  /* USER CODE END PFP */
  
  /* Private user code ---------------------------------------------------------*/
  /* USER CODE BEGIN 0 */
  
  /* USER CODE END 0 */
  
  /* External variables --------------------------------------------------------*/
  extern PCD_HandleTypeDef hpcd_USB_FS;
  extern TIM_HandleTypeDef htim1;
  /* USER CODE BEGIN EV */
  
  /* USER CODE END EV */
  
  /******************************************************************************/
  /*           Cortex-M3 Processor Interruption and Exception Handlers          */
  /******************************************************************************/
  /**
    * @brief This function handles Non maskable interrupt.
    */
  void NMI_Handler(void)
  {
    /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
  
    /* USER CODE END NonMaskableInt_IRQn 0 */
    /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
    while (1)
    {
    }
    /* USER CODE END NonMaskableInt_IRQn 1 */
  }
  
  /**
    * @brief This function handles Hard fault interrupt.
    */
  void HardFault_Handler(void)
  {
    /* 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 */
    }
  }
  
  /**
    * @brief This function handles Memory management fault.
    */
  void MemManage_Handler(void)
  {
    /* USER CODE BEGIN MemoryManagement_IRQn 0 */
  
    /* USER CODE END MemoryManagement_IRQn 0 */
    while (1)
    {
      /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
      /* USER CODE END W1_MemoryManagement_IRQn 0 */
    }
  }
  
  /**
    * @brief This function handles Prefetch fault, memory access fault.
    */
  void BusFault_Handler(void)
  {
    /* USER CODE BEGIN BusFault_IRQn 0 */
  
    /* USER CODE END BusFault_IRQn 0 */
    while (1)
    {
      /* USER CODE BEGIN W1_BusFault_IRQn 0 */
      /* USER CODE END W1_BusFault_IRQn 0 */
    }
  }
  
  /**
    * @brief This function handles Undefined instruction or illegal state.
    */
  void UsageFault_Handler(void)
  {
    /* USER CODE BEGIN UsageFault_IRQn 0 */
  
    /* USER CODE END UsageFault_IRQn 0 */
    while (1)
    {
      /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
      /* USER CODE END W1_UsageFault_IRQn 0 */
    }
  }
  
  /**
    * @brief This function handles System service call via SWI instruction.
    */
  void SVC_Handler(void)
  {
    /* USER CODE BEGIN SVCall_IRQn 0 */
  
    /* USER CODE END SVCall_IRQn 0 */
    /* USER CODE BEGIN SVCall_IRQn 1 */
  
    /* USER CODE END SVCall_IRQn 1 */
  }
  
  /**
    * @brief This function handles Debug monitor.
    */
  void DebugMon_Handler(void)
  {
    /* USER CODE BEGIN DebugMonitor_IRQn 0 */
  
    /* USER CODE END DebugMonitor_IRQn 0 */
    /* USER CODE BEGIN DebugMonitor_IRQn 1 */
  
    /* USER CODE END DebugMonitor_IRQn 1 */
  }
  
  /**
    * @brief This function handles Pendable request for system service.
    */
  void PendSV_Handler(void)
  {
    /* USER CODE BEGIN PendSV_IRQn 0 */
  
    /* USER CODE END PendSV_IRQn 0 */
    /* USER CODE BEGIN PendSV_IRQn 1 */
  
    /* USER CODE END PendSV_IRQn 1 */
  }
  
  /**
    * @brief This function handles System tick timer.
    */
  void SysTick_Handler(void)
  {
    /* USER CODE BEGIN SysTick_IRQn 0 */
  
    /* USER CODE END SysTick_IRQn 0 */
    HAL_IncTick();
    HAL_SYSTICK_IRQHandler();
    /* USER CODE BEGIN SysTick_IRQn 1 */
  
    /* USER CODE END SysTick_IRQn 1 */
  }
  
  /******************************************************************************/
  /* STM32F1xx Peripheral Interrupt Handlers                                    */
  /* Add here the Interrupt Handlers for the used peripherals.                  */
  /* For the available peripheral interrupt handler names,                      */
  /* please refer to the startup file (startup_stm32f1xx.s).                    */
  /******************************************************************************/
  
  /**
    * @brief This function handles USB high priority or CAN TX interrupts.
    */
  void USB_HP_CAN1_TX_IRQHandler(void)
  {
    /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 0 */
  
    /* USER CODE END USB_HP_CAN1_TX_IRQn 0 */
    HAL_PCD_IRQHandler(&hpcd_USB_FS);
    /* USER CODE BEGIN USB_HP_CAN1_TX_IRQn 1 */
  
    /* USER CODE END USB_HP_CAN1_TX_IRQn 1 */
  }
  
  /**
    * @brief This function handles USB low priority or CAN RX0 interrupts.
    */
  void USB_LP_CAN1_RX0_IRQHandler(void)
  {
    /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 0 */
  
    /* USER CODE END USB_LP_CAN1_RX0_IRQn 0 */
    HAL_PCD_IRQHandler(&hpcd_USB_FS);
    /* USER CODE BEGIN USB_LP_CAN1_RX0_IRQn 1 */
  
    /* USER CODE END USB_LP_CAN1_RX0_IRQn 1 */
  }
  
  /**
    * @brief This function handles TIM1 update interrupt.
    */
  void TIM1_UP_IRQHandler(void)
  {
    /* USER CODE BEGIN TIM1_UP_IRQn 0 */
  
    /* USER CODE END TIM1_UP_IRQn 0 */
    HAL_TIM_IRQHandler(&htim1);
    /* USER CODE BEGIN TIM1_UP_IRQn 1 */
  
    /* USER CODE END TIM1_UP_IRQn 1 */
  }
  
  /* USER CODE BEGIN 1 */
  
  /* USER CODE END 1 */
  /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
  