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

STM8S/A

STM8S_StdPeriph_Examples/UART1/UART1_MultiProcessor/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 
00031 /* Private typedef -----------------------------------------------------------*/
00032 /* Private define ------------------------------------------------------------*/
00033 /* Private macro -------------------------------------------------------------*/
00034 /* Private variables ---------------------------------------------------------*/
00035 /* Private function prototypes -----------------------------------------------*/
00036 /* Private functions ---------------------------------------------------------*/
00037 
00038 /* Public functions ----------------------------------------------------------*/
00039 
00040 /** @addtogroup IT_Functions
00041   * @{
00042   */
00043 #ifdef _COSMIC_
00044 /**
00045   * @brief  Dummy interrupt routine
00046   * @param  None
00047   * @retval None
00048   */
00049 INTERRUPT_HANDLER(NonHandledInterrupt, 25)
00050 {
00051   /* In order to detect unexpected events during development,
00052      it is recommended to set a breakpoint on the following instruction.
00053   */
00054 }
00055 #endif /*_COSMIC_*/
00056 
00057 /**
00058   * @brief  TRAP interrupt routine
00059   * @param  None
00060   * @retval None
00061   */
00062 INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
00063 {
00064   /* In order to detect unexpected events during development,
00065      it is recommended to set a breakpoint on the following instruction.
00066   */
00067 }
00068 /**
00069   * @brief  Top Level Interrupt routine
00070   * @param  None
00071   * @retval None
00072   */
00073 INTERRUPT_HANDLER(TLI_IRQHandler, 0)
00074 {
00075   /* In order to detect unexpected events during development,
00076      it is recommended to set a breakpoint on the following instruction.
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 (UART3_GetFlagStatus(UART3_FLAG_RXNE) != RESET)
00124   {
00125     /* Flush DR register */
00126     UART3_ReceiveData9();
00127     /* Clear the UART3 RXNE Flag */
00128     UART3_ClearFlag(UART3_FLAG_RXNE);
00129   } 
00130     /* Enable the UART3 mute mode*/
00131     UART3_ReceiverWakeUpCmd(ENABLE);
00132   
00133 }
00134 
00135 /**
00136   * @brief  External Interrupt PORTC Interrupt routine
00137   * @param  None
00138   * @retval None
00139   */
00140 INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5)
00141 {
00142      UART1_SendData9(0x102);
00143 
00144      /* Wait while UART1 TXE = 0 */
00145      while (UART1_GetFlagStatus(UART1_FLAG_TXE) == RESET);
00146 }
00147 
00148 /**
00149   * @brief  External Interrupt PORTD Interrupt routine
00150   * @param  None
00151   * @retval None
00152   */
00153 INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6)
00154 {
00155   /* In order to detect unexpected events during development,
00156      it is recommended to set a breakpoint on the following instruction.
00157   */
00158 }
00159 
00160 /**
00161   * @brief  External Interrupt PORTE Interrupt routine
00162   * @param  None
00163   * @retval None
00164   */
00165 INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7)
00166 {
00167   /* In order to detect unexpected events during development,
00168      it is recommended to set a breakpoint on the following instruction.
00169   */
00170 }
00171 #ifdef STM8S903
00172 /**
00173   * @brief  External Interrupt PORTF Interrupt routine
00174   * @param  None
00175   * @retval None
00176   */
00177  INTERRUPT_HANDLER(EXTI_PORTF_IRQHandler, 8)
00178 {
00179   /* In order to detect unexpected events during development,
00180      it is recommended to set a breakpoint on the following instruction.
00181   */
00182 }
00183 #endif /*STM8S903*/
00184 
00185 #if defined (STM8S208) || defined (STM8AF52Ax)
00186 /**
00187   * @brief CAN RX Interrupt routine.
00188   * @param  None
00189   * @retval None
00190   */
00191  INTERRUPT_HANDLER(CAN_RX_IRQHandler, 8)
00192 {
00193   /* In order to detect unexpected events during development,
00194      it is recommended to set a breakpoint on the following instruction.
00195   */
00196 }
00197 
00198 /**
00199   * @brief  CAN TX Interrupt routine
00200   * @param  None
00201   * @retval None
00202   */
00203  INTERRUPT_HANDLER(CAN_TX_IRQHandler, 9)
00204 {
00205   /* In order to detect unexpected events during development,
00206      it is recommended to set a breakpoint on the following instruction.
00207   */
00208 }
00209 #endif /*STM8S208 || STM8AF52Ax */
00210 
00211 /**
00212   * @brief  SPI Interrupt routine
00213   * @param  None
00214   * @retval None
00215   */
00216 INTERRUPT_HANDLER(SPI_IRQHandler, 10)
00217 {
00218   /* In order to detect unexpected events during development,
00219      it is recommended to set a breakpoint on the following instruction.
00220   */
00221 }
00222 
00223 /**
00224   * @brief  Timer1 Update/Overflow/Trigger/Break Interrupt routine
00225   * @param  None
00226   * @retval None
00227   */
00228 INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
00229 {
00230   /* In order to detect unexpected events during development,
00231      it is recommended to set a breakpoint on the following instruction.
00232   */
00233 }
00234 
00235 /**
00236   * @brief  Timer1 Capture/Compare Interrupt routine
00237   * @param  None
00238   * @retval None
00239   */
00240 INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12)
00241 {
00242   /* In order to detect unexpected events during development,
00243      it is recommended to set a breakpoint on the following instruction.
00244   */
00245 }
00246 
00247 #ifdef STM8S903
00248 /**
00249   * @brief  Timer5 Update/Overflow/Break/Trigger Interrupt routine
00250   * @param  None
00251   * @retval None
00252   */
00253  INTERRUPT_HANDLER(TIM5_UPD_OVF_BRK_TRG_IRQHandler, 13)
00254 {
00255   /* In order to detect unexpected events during development,
00256      it is recommended to set a breakpoint on the following instruction.
00257   */
00258 }
00259 /**
00260   * @brief  Timer5 Capture/Compare Interrupt routine
00261   * @param  None
00262   * @retval None
00263   */
00264  INTERRUPT_HANDLER(TIM5_CAP_COM_IRQHandler, 14)
00265 {
00266   /* In order to detect unexpected events during development,
00267      it is recommended to set a breakpoint on the following instruction.
00268   */
00269 }
00270 
00271 #else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */
00272 /**
00273   * @brief  Timer2 Update/Overflow/Break Interrupt routine
00274   * @param  None
00275   * @retval None
00276   */
00277  INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13)
00278 {
00279   /* In order to detect unexpected events during development,
00280      it is recommended to set a breakpoint on the following instruction.
00281   */
00282 }
00283 
00284 /**
00285   * @brief  Timer2 Capture/Compare Interrupt routine
00286   * @param  None
00287   * @retval None
00288   */
00289  INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14)
00290 {
00291   /* In order to detect unexpected events during development,
00292      it is recommended to set a breakpoint on the following instruction.
00293   */
00294 }
00295 #endif /*STM8S903*/
00296 
00297 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
00298     defined(STM8S005) ||  defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8AF626x)
00299 /**
00300   * @brief Timer3 Update/Overflow/Break Interrupt routine.
00301   * @param  None
00302   * @retval None
00303   */
00304  INTERRUPT_HANDLER(TIM3_UPD_OVF_BRK_IRQHandler, 15)
00305 {
00306   /* In order to detect unexpected events during development,
00307      it is recommended to set a breakpoint on the following instruction.
00308   */
00309 }
00310 
00311 /**
00312   * @brief  Timer3 Capture/Compare Interrupt routine
00313   * @param  None
00314   * @retval None
00315   */
00316  INTERRUPT_HANDLER(TIM3_CAP_COM_IRQHandler, 16)
00317 {
00318   /* In order to detect unexpected events during development,
00319      it is recommended to set a breakpoint on the following instruction.
00320   */
00321 }
00322 #endif /*STM8S208, STM8S207 or STM8S105 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */
00323 
00324 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \
00325     defined(STM8S003) ||  defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8S903)
00326 /**
00327   * @brief  UART1 TX Interrupt routine
00328   * @param  None
00329   * @retval None
00330   */
00331  INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17)
00332 {
00333   /* In order to detect unexpected events during development,
00334      it is recommended to set a breakpoint on the following instruction.
00335   */
00336 }
00337 
00338 /**
00339   * @brief  UART1 RX Interrupt routine
00340   * @param  None
00341   * @retval None
00342   */
00343  INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
00344 {
00345   /* In order to detect unexpected events during development,
00346      it is recommended to set a breakpoint on the following instruction.
00347   */
00348 }
00349 #endif /*STM8S105*/
00350 
00351 /**
00352   * @brief  I2C Interrupt routine
00353   * @param  None
00354   * @retval None
00355   */
00356 INTERRUPT_HANDLER(I2C_IRQHandler, 19)
00357 {
00358   /* In order to detect unexpected events during development,
00359      it is recommended to set a breakpoint on the following instruction.
00360   */
00361 }
00362 
00363 #if defined(STM8S105) || defined(STM8S005) ||  defined (STM8AF626x)
00364 /**
00365   * @brief  UART2 TX interrupt routine.
00366   * @param  None
00367   * @retval None
00368   */
00369  INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20)
00370 {
00371     /* In order to detect unexpected events during development,
00372        it is recommended to set a breakpoint on the following instruction.
00373     */
00374   }
00375 
00376 /**
00377   * @brief  UART2 RX interrupt routine.
00378   * @param  None
00379   * @retval None
00380   */
00381  INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21)
00382 {
00383     /* In order to detect unexpected events during development,
00384        it is recommended to set a breakpoint on the following instruction.
00385     */
00386   }
00387 #endif /* STM8S105*/
00388 
00389 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
00390 /**
00391   * @brief  UART3 TX interrupt routine.
00392   * @param  None
00393   * @retval None
00394   */
00395  INTERRUPT_HANDLER(UART3_TX_IRQHandler, 20)
00396 {
00397     /* In order to detect unexpected events during development,
00398        it is recommended to set a breakpoint on the following instruction.
00399     */
00400   }
00401 
00402 /**
00403   * @brief  UART3 RX interrupt routine.
00404   * @param  None
00405   * @retval None
00406   */
00407  INTERRUPT_HANDLER(UART3_RX_IRQHandler, 21)
00408 {
00409     /* In order to detect unexpected events during development,
00410        it is recommended to set a breakpoint on the following instruction.
00411     */
00412   }
00413 #endif /*STM8S208 or STM8S207 or STM8AF52Ax or STM8AF62Ax */
00414 
00415 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
00416 /**
00417   * @brief  ADC2 interrupt routine.
00418   * @param  None
00419   * @retval None
00420   */
00421  INTERRUPT_HANDLER(ADC2_IRQHandler, 22)
00422 {
00423 
00424     /* In order to detect unexpected events during development,
00425        it is recommended to set a breakpoint on the following instruction.
00426     */
00427     return;
00428 
00429 }
00430 #else /*STM8S105, STM8S103 or STM8S903 or STM8AF626x */
00431 /**
00432   * @brief  ADC1 interrupt routine.
00433   * @param  None
00434   * @retval None
00435   */
00436  INTERRUPT_HANDLER(ADC1_IRQHandler, 22)
00437 {
00438 
00439     /* In order to detect unexpected events during development,
00440        it is recommended to set a breakpoint on the following instruction.
00441     */
00442     return;
00443 
00444 }
00445 #endif /*STM8S208 or STM8S207 or STM8AF52Ax or STM8AF62Ax */
00446 
00447 #ifdef STM8S903
00448 /**
00449   * @brief  Timer6 Update/Overflow/Trigger Interrupt routine
00450   * @param  None
00451   * @retval None
00452   */
00453 INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHandler, 23)
00454 {
00455   /* In order to detect unexpected events during development,
00456      it is recommended to set a breakpoint on the following instruction.
00457   */
00458 }
00459 #else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */
00460 /**
00461   * @brief  Timer4 Update/Overflow Interrupt routine
00462   * @param  None
00463   * @retval None
00464   */
00465  INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
00466 {
00467   /* In order to detect unexpected events during development,
00468      it is recommended to set a breakpoint on the following instruction.
00469   */
00470 }
00471 #endif /*STM8S903*/
00472 
00473 /**
00474   * @brief  Eeprom EEC Interrupt routine
00475   * @param  None
00476   * @retval None
00477   */
00478 INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler, 24)
00479 {
00480   /* In order to detect unexpected events during development,
00481      it is recommended to set a breakpoint on the following instruction.
00482   */
00483 }
00484 
00485 /**
00486   * @}
00487   */
00488 
00489 
00490 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
STM8 Standard Peripherals Library: Footer

 

 

 

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