1 /**
2   ******************************************************************************
3   * @file    stm32l0xx_it.c
4   * @brief   Interrupt Service Routines.
5   ******************************************************************************
6   *
7   * COPYRIGHT(c) 2019 STMicroelectronics
8   *
9   * Redistribution and use in source and binary forms, with or without modification,
10   * are permitted provided that the following conditions are met:
11   *   1. Redistributions of source code must retain the above copyright notice,
12   *      this list of conditions and the following disclaimer.
13   *   2. Redistributions in binary form must reproduce the above copyright notice,
14   *      this list of conditions and the following disclaimer in the documentation
15   *      and/or other materials provided with the distribution.
16   *   3. Neither the name of STMicroelectronics nor the names of its contributors
17   *      may be used to endorse or promote products derived from this software
18   *      without specific prior written permission.
19   *
20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30   *
31   ******************************************************************************
32   */
33 /* Includes ------------------------------------------------------------------*/
34 #include "stm32l0xx_hal.h"
35 #include "stm32l0xx.h"
36 #include "stm32l0xx_it.h"
37 
38 /* USER CODE BEGIN 0 */
39 
40 /* USER CODE END 0 */
41 
42 /* External variables --------------------------------------------------------*/
43 extern UART_HandleTypeDef huart2;
44 
45 /******************************************************************************/
46 /*            Cortex-M0+ Processor Interruption and Exception Handlers         */
47 /******************************************************************************/
48 
49 /**
50 * @brief This function handles Non maskable interrupt.
51 */
NMI_Handler(void)52 void NMI_Handler(void)
53 {
54   /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
55 
56   /* USER CODE END NonMaskableInt_IRQn 0 */
57   /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
58 
59   /* USER CODE END NonMaskableInt_IRQn 1 */
60 }
61 
62 /**
63 * @brief This function handles Hard fault interrupt.
64 */
HardFault_Handler(void)65 void HardFault_Handler(void)
66 {
67   /* USER CODE BEGIN HardFault_IRQn 0 */
68 
69   /* USER CODE END HardFault_IRQn 0 */
70   while (1)
71   {
72     /* USER CODE BEGIN W1_HardFault_IRQn 0 */
73     /* USER CODE END W1_HardFault_IRQn 0 */
74   }
75   /* USER CODE BEGIN HardFault_IRQn 1 */
76 
77   /* USER CODE END HardFault_IRQn 1 */
78 }
79 
80 /**
81 * @brief This function handles System service call via SWI instruction.
82 */
SVC_Handler(void)83 void SVC_Handler(void)
84 {
85   /* USER CODE BEGIN SVC_IRQn 0 */
86 
87   /* USER CODE END SVC_IRQn 0 */
88   /* USER CODE BEGIN SVC_IRQn 1 */
89 
90   /* USER CODE END SVC_IRQn 1 */
91 }
92 
93 /**
94 * @brief This function handles Pendable request for system service.
95 */
PendSV_Handler(void)96 void PendSV_Handler(void)
97 {
98   /* USER CODE BEGIN PendSV_IRQn 0 */
99 
100   /* USER CODE END PendSV_IRQn 0 */
101   /* USER CODE BEGIN PendSV_IRQn 1 */
102 
103   /* USER CODE END PendSV_IRQn 1 */
104 }
105 
106 /**
107 * @brief This function handles System tick timer.
108 */
SysTick_Handler(void)109 void SysTick_Handler(void)
110 {
111   /* USER CODE BEGIN SysTick_IRQn 0 */
112 
113   /* USER CODE END SysTick_IRQn 0 */
114   HAL_IncTick();
115   HAL_SYSTICK_IRQHandler();
116   /* USER CODE BEGIN SysTick_IRQn 1 */
117 
118   /* USER CODE END SysTick_IRQn 1 */
119 }
120 
121 /******************************************************************************/
122 /* STM32L0xx Peripheral Interrupt Handlers                                    */
123 /* Add here the Interrupt Handlers for the used peripherals.                  */
124 /* For the available peripheral interrupt handler names,                      */
125 /* please refer to the startup file (startup_stm32l0xx.s).                    */
126 /******************************************************************************/
127 
128 /**
129 * @brief This function handles USART2 global interrupt / USART2 wake-up interrupt through EXTI line 26.
130 */
USART2_IRQHandler(void)131 void USART2_IRQHandler(void)
132 {
133   /* USER CODE BEGIN USART2_IRQn 0 */
134 
135   /* USER CODE END USART2_IRQn 0 */
136   HAL_UART_IRQHandler(&huart2);
137   /* USER CODE BEGIN USART2_IRQn 1 */
138 
139   /* USER CODE END USART2_IRQn 1 */
140 }
141 
142 /* USER CODE BEGIN 1 */
143 
144 /* USER CODE END 1 */
145 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
146