STM8S/A Standard Peripherals Firmware Library: stm8s_it.c Source File

STM8S/A

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>&copy; 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****/
STM8 Standard Peripherals Library: Footer

 

 

 

      For complete documentation on STM8 8-bit Microcontrollers platform visit www.st.com