STM8S/A Standard Peripherals Firmware Library
|
STM8S_StdPeriph_Examples/EXTI/EXTI_InterruptPriority/stm8s_it.c
Go to the documentation of this file.
00001 /** 00002 ****************************************************************************** 00003 * @file stm8s_it.c 00004 * @author MCD Application Team 00005 * @version V2.2.0 00006 * @date 30-September-2014 00007 * @brief Main Interrupt Service Routines. 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2> 00012 * 00013 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); 00014 * You may not use this file except in compliance with the License. 00015 * You may obtain a copy of the License at: 00016 * 00017 * http://www.st.com/software_license_agreement_liberty_v2 00018 * 00019 * Unless required by applicable law or agreed to in writing, software 00020 * distributed under the License is distributed on an "AS IS" BASIS, 00021 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00022 * See the License for the specific language governing permissions and 00023 * limitations under the License. 00024 * 00025 ****************************************************************************** 00026 */ 00027 00028 /* Includes ------------------------------------------------------------------*/ 00029 #include "stm8s_it.h" 00030 #include "main.h" 00031 00032 /* Private typedef -----------------------------------------------------------*/ 00033 /* Private define ------------------------------------------------------------*/ 00034 /* Private macro -------------------------------------------------------------*/ 00035 /* Private variables ---------------------------------------------------------*/ 00036 /* Private function prototypes -----------------------------------------------*/ 00037 /* Private functions ---------------------------------------------------------*/ 00038 00039 /* Public functions ----------------------------------------------------------*/ 00040 00041 /** @addtogroup EXTI_InterruptPriority 00042 * @{ 00043 */ 00044 #ifdef _COSMIC_ 00045 /** 00046 * @brief Dummy interrupt routine 00047 * @param None 00048 * @retval None 00049 */ 00050 INTERRUPT_HANDLER(NonHandledInterrupt, 25) 00051 { 00052 /* In order to detect unexpected events during development, 00053 it is recommended to set a breakpoint on the following instruction. 00054 */ 00055 } 00056 #endif /*_COSMIC_*/ 00057 00058 /** 00059 * @brief TRAP interrupt routine 00060 * @param None 00061 * @retval None 00062 */ 00063 INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler) 00064 { 00065 /* In order to detect unexpected events during development, 00066 it is recommended to set a breakpoint on the following instruction. 00067 */ 00068 } 00069 /** 00070 * @brief Top Level Interrupt routine 00071 * @param None 00072 * @retval None 00073 */ 00074 INTERRUPT_HANDLER(TLI_IRQHandler, 0) 00075 { 00076 GPIO_WriteReverse(LEDS_PORT, (GPIO_Pin_TypeDef)(LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN)); 00077 00078 } 00079 00080 /** 00081 * @brief Auto Wake Up Interrupt routine 00082 * @param None 00083 * @retval None 00084 */ 00085 INTERRUPT_HANDLER(AWU_IRQHandler, 1) 00086 { 00087 /* In order to detect unexpected events during development, 00088 it is recommended to set a breakpoint on the following instruction. 00089 */ 00090 } 00091 00092 /** 00093 * @brief Clock Controller Interrupt routine 00094 * @param None 00095 * @retval None 00096 */ 00097 INTERRUPT_HANDLER(CLK_IRQHandler, 2) 00098 { 00099 /* In order to detect unexpected events during development, 00100 it is recommended to set a breakpoint on the following instruction. 00101 */ 00102 } 00103 00104 /** 00105 * @brief External Interrupt PORTA Interrupt routine 00106 * @param None 00107 * @retval None 00108 */ 00109 INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler, 3) 00110 { 00111 /* In order to detect unexpected events during development, 00112 it is recommended to set a breakpoint on the following instruction. 00113 */ 00114 } 00115 00116 /** 00117 * @brief External Interrupt PORTB Interrupt routine 00118 * @param None 00119 * @retval None 00120 */ 00121 INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4) 00122 { 00123 if ((GPIO_ReadInputData(JOYSTICK_PORT) & JOYSTICK_LEFT_PIN) == 0x00) 00124 { 00125 GPIO_WriteReverse(LEDS_PORT, LED1_PIN); 00126 } 00127 if ((GPIO_ReadInputData(JOYSTICK_PORT) & JOYSTICK_RIGHT_PIN) == 0x00) 00128 { 00129 GPIO_WriteReverse(LEDS_PORT, LED2_PIN); 00130 } 00131 if ((GPIO_ReadInputData(JOYSTICK_PORT) & JOYSTICK_UP_PIN) == 0x00) 00132 { 00133 GPIO_WriteReverse(LEDS_PORT, LED3_PIN); 00134 } 00135 if ((GPIO_ReadInputData(JOYSTICK_PORT) & JOYSTICK_DOWN_PIN) == 0x00) 00136 { 00137 GPIO_WriteReverse(LEDS_PORT, LED4_PIN); 00138 } 00139 } 00140 00141 /** 00142 * @brief External Interrupt PORTC Interrupt routine 00143 * @param None 00144 * @retval None 00145 */ 00146 INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5) 00147 { 00148 /* In order to detect unexpected events during development, 00149 it is recommended to set a breakpoint on the following instruction. 00150 */ 00151 } 00152 00153 /** 00154 * @brief External Interrupt PORTD Interrupt routine 00155 * @param None 00156 * @retval None 00157 */ 00158 INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6) 00159 { 00160 /* In order to detect unexpected events during development, 00161 it is recommended to set a breakpoint on the following instruction. 00162 */ 00163 } 00164 00165 /** 00166 * @brief External Interrupt PORTE Interrupt routine 00167 * @param None 00168 * @retval None 00169 */ 00170 INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7) 00171 { 00172 /* In order to detect unexpected events during development, 00173 it is recommended to set a breakpoint on the following instruction. 00174 */ 00175 } 00176 #ifdef STM8S903 00177 /** 00178 * @brief External Interrupt PORTF Interrupt routine 00179 * @param None 00180 * @retval None 00181 */ 00182 INTERRUPT_HANDLER(EXTI_PORTF_IRQHandler, 8) 00183 { 00184 /* In order to detect unexpected events during development, 00185 it is recommended to set a breakpoint on the following instruction. 00186 */ 00187 } 00188 #endif /*STM8S903*/ 00189 00190 #if defined (STM8S208) || defined (STM8AF52Ax) 00191 /** 00192 * @brief CAN RX Interrupt routine. 00193 * @param None 00194 * @retval None 00195 */ 00196 INTERRUPT_HANDLER(CAN_RX_IRQHandler, 8) 00197 { 00198 /* In order to detect unexpected events during development, 00199 it is recommended to set a breakpoint on the following instruction. 00200 */ 00201 } 00202 00203 /** 00204 * @brief CAN TX Interrupt routine 00205 * @param None 00206 * @retval None 00207 */ 00208 INTERRUPT_HANDLER(CAN_TX_IRQHandler, 9) 00209 { 00210 /* In order to detect unexpected events during development, 00211 it is recommended to set a breakpoint on the following instruction. 00212 */ 00213 } 00214 #endif /*STM8S208 || STM8AF52Ax */ 00215 00216 /** 00217 * @brief SPI Interrupt routine 00218 * @param None 00219 * @retval None 00220 */ 00221 INTERRUPT_HANDLER(SPI_IRQHandler, 10) 00222 { 00223 /* In order to detect unexpected events during development, 00224 it is recommended to set a breakpoint on the following instruction. 00225 */ 00226 } 00227 00228 /** 00229 * @brief Timer1 Update/Overflow/Trigger/Break Interrupt routine 00230 * @param None 00231 * @retval None 00232 */ 00233 INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11) 00234 { 00235 /* In order to detect unexpected events during development, 00236 it is recommended to set a breakpoint on the following instruction. 00237 */ 00238 } 00239 00240 /** 00241 * @brief Timer1 Capture/Compare Interrupt routine 00242 * @param None 00243 * @retval None 00244 */ 00245 INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12) 00246 { 00247 /* In order to detect unexpected events during development, 00248 it is recommended to set a breakpoint on the following instruction. 00249 */ 00250 } 00251 00252 #ifdef STM8S903 00253 /** 00254 * @brief Timer5 Update/Overflow/Break/Trigger Interrupt routine 00255 * @param None 00256 * @retval None 00257 */ 00258 INTERRUPT_HANDLER(TIM5_UPD_OVF_BRK_TRG_IRQHandler, 13) 00259 { 00260 /* In order to detect unexpected events during development, 00261 it is recommended to set a breakpoint on the following instruction. 00262 */ 00263 } 00264 /** 00265 * @brief Timer5 Capture/Compare Interrupt routine 00266 * @param None 00267 * @retval None 00268 */ 00269 INTERRUPT_HANDLER(TIM5_CAP_COM_IRQHandler, 14) 00270 { 00271 /* In order to detect unexpected events during development, 00272 it is recommended to set a breakpoint on the following instruction. 00273 */ 00274 } 00275 00276 #else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */ 00277 /** 00278 * @brief Timer2 Update/Overflow/Break Interrupt routine 00279 * @param None 00280 * @retval None 00281 */ 00282 INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13) 00283 { 00284 /* In order to detect unexpected events during development, 00285 it is recommended to set a breakpoint on the following instruction. 00286 */ 00287 } 00288 00289 /** 00290 * @brief Timer2 Capture/Compare Interrupt routine 00291 * @param None 00292 * @retval None 00293 */ 00294 INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14) 00295 { 00296 /* In order to detect unexpected events during development, 00297 it is recommended to set a breakpoint on the following instruction. 00298 */ 00299 } 00300 #endif /*STM8S903*/ 00301 00302 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \ 00303 defined(STM8S005) || defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8AF626x) 00304 /** 00305 * @brief Timer3 Update/Overflow/Break Interrupt routine. 00306 * @param None 00307 * @retval None 00308 */ 00309 INTERRUPT_HANDLER(TIM3_UPD_OVF_BRK_IRQHandler, 15) 00310 { 00311 /* In order to detect unexpected events during development, 00312 it is recommended to set a breakpoint on the following instruction. 00313 */ 00314 } 00315 00316 /** 00317 * @brief Timer3 Capture/Compare Interrupt routine 00318 * @param None 00319 * @retval None 00320 */ 00321 INTERRUPT_HANDLER(TIM3_CAP_COM_IRQHandler, 16) 00322 { 00323 /* In order to detect unexpected events during development, 00324 it is recommended to set a breakpoint on the following instruction. 00325 */ 00326 } 00327 #endif /*STM8S208, STM8S207 or STM8S105 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */ 00328 00329 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \ 00330 defined(STM8S003) || defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8S903) 00331 /** 00332 * @brief UART1 TX Interrupt routine 00333 * @param None 00334 * @retval None 00335 */ 00336 INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17) 00337 { 00338 /* In order to detect unexpected events during development, 00339 it is recommended to set a breakpoint on the following instruction. 00340 */ 00341 } 00342 00343 /** 00344 * @brief UART1 RX Interrupt routine 00345 * @param None 00346 * @retval None 00347 */ 00348 INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18) 00349 { 00350 /* In order to detect unexpected events during development, 00351 it is recommended to set a breakpoint on the following instruction. 00352 */ 00353 } 00354 #endif /*STM8S105*/ 00355 00356 /** 00357 * @brief I2C Interrupt routine 00358 * @param None 00359 * @retval None 00360 */ 00361 INTERRUPT_HANDLER(I2C_IRQHandler, 19) 00362 { 00363 /* In order to detect unexpected events during development, 00364 it is recommended to set a breakpoint on the following instruction. 00365 */ 00366 } 00367 00368 #if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x) 00369 /** 00370 * @brief UART2 TX interrupt routine. 00371 * @param None 00372 * @retval None 00373 */ 00374 INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20) 00375 { 00376 /* In order to detect unexpected events during development, 00377 it is recommended to set a breakpoint on the following instruction. 00378 */ 00379 } 00380 00381 /** 00382 * @brief UART2 RX interrupt routine. 00383 * @param None 00384 * @retval None 00385 */ 00386 INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21) 00387 { 00388 /* In order to detect unexpected events during development, 00389 it is recommended to set a breakpoint on the following instruction. 00390 */ 00391 } 00392 #endif /* STM8S105*/ 00393 00394 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax) 00395 /** 00396 * @brief UART3 TX interrupt routine. 00397 * @param None 00398 * @retval None 00399 */ 00400 INTERRUPT_HANDLER(UART3_TX_IRQHandler, 20) 00401 { 00402 /* In order to detect unexpected events during development, 00403 it is recommended to set a breakpoint on the following instruction. 00404 */ 00405 } 00406 00407 /** 00408 * @brief UART3 RX interrupt routine. 00409 * @param None 00410 * @retval None 00411 */ 00412 INTERRUPT_HANDLER(UART3_RX_IRQHandler, 21) 00413 { 00414 /* In order to detect unexpected events during development, 00415 it is recommended to set a breakpoint on the following instruction. 00416 */ 00417 } 00418 #endif /*STM8S208 or STM8S207 or STM8AF52Ax or STM8AF62Ax */ 00419 00420 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax) 00421 /** 00422 * @brief ADC2 interrupt routine. 00423 * @param None 00424 * @retval None 00425 */ 00426 INTERRUPT_HANDLER(ADC2_IRQHandler, 22) 00427 { 00428 00429 /* In order to detect unexpected events during development, 00430 it is recommended to set a breakpoint on the following instruction. 00431 */ 00432 return; 00433 00434 } 00435 #else /*STM8S105, STM8S103 or STM8S903 or STM8AF626x */ 00436 /** 00437 * @brief ADC1 interrupt routine. 00438 * @param None 00439 * @retval None 00440 */ 00441 INTERRUPT_HANDLER(ADC1_IRQHandler, 22) 00442 { 00443 00444 /* In order to detect unexpected events during development, 00445 it is recommended to set a breakpoint on the following instruction. 00446 */ 00447 return; 00448 00449 } 00450 #endif /*STM8S208 or STM8S207 or STM8AF52Ax or STM8AF62Ax */ 00451 00452 #ifdef STM8S903 00453 /** 00454 * @brief Timer6 Update/Overflow/Trigger Interrupt routine 00455 * @param None 00456 * @retval None 00457 */ 00458 INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHandler, 23) 00459 { 00460 /* In order to detect unexpected events during development, 00461 it is recommended to set a breakpoint on the following instruction. 00462 */ 00463 } 00464 #else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */ 00465 /** 00466 * @brief Timer4 Update/Overflow Interrupt routine 00467 * @param None 00468 * @retval None 00469 */ 00470 INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23) 00471 { 00472 /* In order to detect unexpected events during development, 00473 it is recommended to set a breakpoint on the following instruction. 00474 */ 00475 } 00476 #endif /*STM8S903*/ 00477 00478 /** 00479 * @brief Eeprom EEC Interrupt routine 00480 * @param None 00481 * @retval None 00482 */ 00483 INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler, 24) 00484 { 00485 /* In order to detect unexpected events during development, 00486 it is recommended to set a breakpoint on the following instruction. 00487 */ 00488 } 00489 00490 /** 00491 * @} 00492 */ 00493 00494 00495 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/