38
+ − 1 /**
+ − 2 ******************************************************************************
+ − 3 * @file GPIO/GPIO_IOToggle/Src/stm32f4xx_it.c
+ − 4 * @author MCD Application Team
+ − 5 * @version V1.1.0
+ − 6 * @date 26-June-2014
+ − 7 * @brief Main Interrupt Service Routines.
+ − 8 * This file provides template for all exceptions handler and
+ − 9 * peripherals interrupt service routine.
+ − 10 ******************************************************************************
+ − 11 * @attention
+ − 12 *
+ − 13 * <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
+ − 14 *
+ − 15 * Redistribution and use in source and binary forms, with or without modification,
+ − 16 * are permitted provided that the following conditions are met:
+ − 17 * 1. Redistributions of source code must retain the above copyright notice,
+ − 18 * this list of conditions and the following disclaimer.
+ − 19 * 2. Redistributions in binary form must reproduce the above copyright notice,
+ − 20 * this list of conditions and the following disclaimer in the documentation
+ − 21 * and/or other materials provided with the distribution.
+ − 22 * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ − 23 * may be used to endorse or promote products derived from this software
+ − 24 * without specific prior written permission.
+ − 25 *
+ − 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ − 27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ − 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ − 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ − 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ − 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ − 32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ − 33 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ − 34 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ − 35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ − 36 *
+ − 37 ******************************************************************************
+ − 38 */
+ − 39
+ − 40 /* Includes ------------------------------------------------------------------*/
+ − 41 #include "baseCPU2.h"
+ − 42 #include "stm32f4xx_it_v3.h"
+ − 43
+ − 44 /** @addtogroup STM32F4xx_HAL_Examples
+ − 45 * @{
+ − 46 */
+ − 47
+ − 48 /** @addtogroup GPIO_IOToggle
+ − 49 * @{
+ − 50 */
+ − 51
+ − 52 /* Private typedef -----------------------------------------------------------*/
+ − 53 /* Private define ------------------------------------------------------------*/
+ − 54 /* Private macro -------------------------------------------------------------*/
+ − 55 /* Private variables ---------------------------------------------------------*/
+ − 56 extern I2C_HandleTypeDef I2cHandle;
+ − 57 extern SPI_HandleTypeDef hspi1;
+ − 58 extern RTC_HandleTypeDef RTCHandle;
+ − 59 extern ADC_HandleTypeDef AdcHandle;
+ − 60
662
+ − 61 extern UART_HandleTypeDef huart1;
+ − 62 extern DMA_HandleTypeDef hdma_usart1_rx;
916
+ − 63 extern DMA_HandleTypeDef hdma_usart1_tx;
922
+ − 64 extern UART_HandleTypeDef huart6;
+ − 65 extern DMA_HandleTypeDef hdma_usart6_rx;
+ − 66 extern DMA_HandleTypeDef hdma_usart6_tx;
38
+ − 67 /* Private function prototypes -----------------------------------------------*/
+ − 68 /* Private functions ---------------------------------------------------------*/
+ − 69
+ − 70 /******************************************************************************/
+ − 71 /* Cortex-M4 Processor Exceptions Handlers */
+ − 72 /******************************************************************************/
+ − 73
+ − 74 /**
+ − 75 * @brief This function handles NMI exception.
+ − 76 * @param None
+ − 77 * @retval None
+ − 78 */
+ − 79 void NMI_Handler(void)
+ − 80 {
+ − 81 }
+ − 82
+ − 83 /**
+ − 84 * @brief This function handles Hard Fault exception.
+ − 85 * @param None
+ − 86 * @retval None
+ − 87 */
+ − 88 void HardFault_Handler(void)
+ − 89 {
+ − 90 /* Go to infinite loop when Hard Fault exception occurs */
42
+ − 91 HAL_NVIC_SystemReset(); /* TODO Exception occures during startup and no iwdg is active ==> Call reset till iwdg is added */
38
+ − 92 while (1)
+ − 93 {
+ − 94 }
+ − 95 }
+ − 96
+ − 97 /**
+ − 98 * @brief This function handles Memory Manage exception.
+ − 99 * @param None
+ − 100 * @retval None
+ − 101 */
+ − 102 void MemManage_Handler(void)
+ − 103 {
+ − 104 /* Go to infinite loop when Memory Manage exception occurs */
+ − 105 while (1)
+ − 106 {
+ − 107 }
+ − 108 }
+ − 109
+ − 110 /**
+ − 111 * @brief This function handles Bus Fault exception.
+ − 112 * @param None
+ − 113 * @retval None
+ − 114 */
+ − 115 void BusFault_Handler(void)
+ − 116 {
+ − 117 /* Go to infinite loop when Bus Fault exception occurs */
+ − 118 while (1)
+ − 119 {
+ − 120 }
+ − 121 }
+ − 122
+ − 123 /**
+ − 124 * @brief This function handles Usage Fault exception.
+ − 125 * @param None
+ − 126 * @retval None
+ − 127 */
+ − 128 void UsageFault_Handler(void)
+ − 129 {
+ − 130 /* Go to infinite loop when Usage Fault exception occurs */
+ − 131 while (1)
+ − 132 {
+ − 133 }
+ − 134 }
+ − 135
+ − 136 /**
+ − 137 * @brief This function handles SVCall exception.
+ − 138 * @param None
+ − 139 * @retval None
+ − 140 */
+ − 141 void SVC_Handler(void)
+ − 142 {
+ − 143 }
+ − 144
+ − 145 /**
+ − 146 * @brief This function handles Debug Monitor exception.
+ − 147 * @param None
+ − 148 * @retval None
+ − 149 */
+ − 150 void DebugMon_Handler(void)
+ − 151 {
+ − 152 }
+ − 153
+ − 154 /**
+ − 155 * @brief This function handles PendSVC exception.
+ − 156 * @param None
+ − 157 * @retval None
+ − 158 */
+ − 159 void PendSV_Handler(void)
+ − 160 {
+ − 161 }
+ − 162
+ − 163 /**
+ − 164 * @brief This function handles SysTick Handler.
+ − 165 * @param None
+ − 166 * @retval None
+ − 167 */
104
+ − 168 //void SysTick_Handler(void)
+ − 169 //{
+ − 170 // HAL_IncTick();
+ − 171 //}
38
+ − 172
+ − 173
+ − 174 /******************************************************************************/
+ − 175 /* STM32F4xx Peripherals Interrupt Handlers */
+ − 176 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
+ − 177 /* available peripheral interrupt handler's name please refer to the startup */
+ − 178 /* file (startup_stm32f4xx.s). */
+ − 179 /******************************************************************************/
+ − 180 /**
+ − 181 * @brief This function handles I2C event interrupt request.
+ − 182 * @param None
+ − 183 * @retval None
+ − 184 * @Note This function is redefined in "main.h" and related to I2C data transmission
+ − 185 */
+ − 186 void I2Cx_EV_IRQHandler(void)
+ − 187 {
+ − 188 HAL_I2C_EV_IRQHandler(& I2cHandle);
+ − 189 }
+ − 190
+ − 191 /**
+ − 192 * @brief This function handles I2C error interrupt request.
+ − 193 * @param None
+ − 194 * @retval None
+ − 195 * @Note This function is redefined in "main.h" and related to I2C error
+ − 196 */
+ − 197 void I2Cx_ER_IRQHandler(void)
+ − 198 {
+ − 199 HAL_I2C_ER_IRQHandler(& I2cHandle);
+ − 200 }
+ − 201
+ − 202
+ − 203 /**
+ − 204 * @brief This function handles SPI interrupt request.
+ − 205 * @param None
+ − 206 * @retval None
+ − 207 */
+ − 208
+ − 209 /*
+ − 210 void SPI1_IRQHandler(void)
+ − 211 {
+ − 212 HAL_SPI_IRQHandler(&hspi1);
+ − 213 }
+ − 214 */
+ − 215
+ − 216 /**
+ − 217 * @brief This function handles DMA Tx interrupt request.
+ − 218 * @param None
+ − 219 * @retval None
+ − 220 */
+ − 221 void DMA2_Stream3_IRQHandler(void)
+ − 222 {
+ − 223 HAL_DMA_IRQHandler(hspi1.hdmatx);
+ − 224 }
+ − 225
+ − 226 /**
+ − 227 * @brief This function handles DMA Rx interrupt request.
+ − 228 * @param None
+ − 229 * @retval None
+ − 230 */
+ − 231 void DMA2_Stream0_IRQHandler(void)
+ − 232 {
+ − 233 HAL_DMA_IRQHandler(hspi1.hdmarx);
+ − 234 }
+ − 235
+ − 236 /**
+ − 237 * @brief This function handles PPP interrupt request.
+ − 238 * @param None
+ − 239 * @retval None
+ − 240 */
+ − 241
662
+ − 242 void DMA2_Stream5_IRQHandler(void)
+ − 243 {
+ − 244 HAL_DMA_IRQHandler(&hdma_usart1_rx);
+ − 245 }
+ − 246
916
+ − 247 void DMA2_Stream7_IRQHandler(void)
+ − 248 {
+ − 249 HAL_DMA_IRQHandler(&hdma_usart1_tx);
+ − 250 }
38
+ − 251
922
+ − 252 #ifdef ENABLE_GPIO_V2
923
+ − 253 void DMA2_Stream2_IRQHandler(void)
922
+ − 254 {
+ − 255 HAL_DMA_IRQHandler(&hdma_usart6_rx);
+ − 256 }
+ − 257
+ − 258 void DMA2_Stream6_IRQHandler(void)
+ − 259 {
+ − 260 HAL_DMA_IRQHandler(&hdma_usart6_tx);
+ − 261 }
+ − 262 #endif
38
+ − 263 /******************************************************************************/
+ − 264 /* STM32F4xx Peripherals Interrupt Handlers */
+ − 265 /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
+ − 266 /* available peripheral interrupt handler's name please refer to the startup */
+ − 267 /* file (startup_stm32f4xx.s). */
+ − 268 /******************************************************************************/
+ − 269
+ − 270
+ − 271 /**
+ − 272 * @brief This function handles RTC Auto wake-up interrupt request.
+ − 273 * @param None
+ − 274 * @retval None
+ − 275 */
+ − 276 void RTC_WKUP_IRQHandler(void)
+ − 277 {
+ − 278 HAL_RTCEx_WakeUpTimerIRQHandler(&RTCHandle);
+ − 279 }
+ − 280
+ − 281 /**
+ − 282 * @brief This function handles External line 0 interrupt request.
+ − 283 * @param None
+ − 284 * @retval None
+ − 285 */
+ − 286 void EXTI15_10_IRQHandler(void)
+ − 287 {
+ − 288 HAL_GPIO_EXTI_IRQHandler(0xFF);
+ − 289 }
+ − 290
+ − 291 /* button */
+ − 292 void EXTI0_IRQHandler(void)
+ − 293 {
+ − 294 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
+ − 295 }
+ − 296
181
+ − 297 /* wireless 1 + 2 => was removed from OSTC4 code => placeholder*/
38
+ − 298 void EXTI1_IRQHandler(void)
+ − 299 {
+ − 300 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
+ − 301 }
+ − 302
+ − 303 void EXTI2_IRQHandler(void)
+ − 304 {
+ − 305 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2);
+ − 306 }
+ − 307
+ − 308 /* test button */
+ − 309 void EXTI3_IRQHandler(void)
+ − 310 {
+ − 311 HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3);
+ − 312 }
+ − 313
+ − 314 /**
+ − 315 * @brief This function handles ADC interrupt request.
+ − 316 * @param None
+ − 317 * @retval None
+ − 318 */
+ − 319 void ADC_IRQHandler(void)
+ − 320 {
+ − 321 HAL_ADC_IRQHandler(&AdcHandle);
+ − 322 }
+ − 323
662
+ − 324
+ − 325 void USART1_IRQHandler(void)
+ − 326 {
+ − 327 HAL_UART_IRQHandler(&huart1);
+ − 328 }
+ − 329
922
+ − 330 #ifdef ENABLE_GPIO_V2
+ − 331 void USART6_IRQHandler(void)
+ − 332 {
+ − 333 HAL_UART_IRQHandler(&huart6);
+ − 334 }
+ − 335 #endif
+ − 336
38
+ − 337 /**
+ − 338 * @brief This function handles PPP interrupt request.
+ − 339 * @param None
+ − 340 * @retval None
+ − 341 */
+ − 342 /*void PPP_IRQHandler(void)
+ − 343 {
+ − 344 }*/
+ − 345
+ − 346 /**
+ − 347 * @}
+ − 348 */
+ − 349
+ − 350 /**
+ − 351 * @}
+ − 352 */
+ − 353
+ − 354 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/