Files

stm8s_it.c
/** ****************************************************************************** * @file stm8s_it.c * @author MCD Application Team * @version V2.2.0 * @date 30-September-2014 * @brief Main Interrupt Service Routines. * This file provides template for all peripherals interrupt service * routine. ****************************************************************************** * @attention * * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2> * * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.st.com/software_license_agreement_liberty_v2 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #include "stm8s_it.h" /** @addtogroup Template_Project * @{ */ /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ /* Public functions ----------------------------------------------------------*/ #ifdef _COSMIC_ /** * @brief Dummy Interrupt routine * @par Parameters: * None * @retval * None */ #endif /*_COSMIC_*/ /** * @brief TRAP Interrupt routine * @param None * @retval None */ INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Top Level Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TLI_IRQHandler, 0) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Auto Wake Up Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(AWU_IRQHandler, 1) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Clock Controller Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(CLK_IRQHandler, 2) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief External Interrupt PORTA Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler, 3) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief External Interrupt PORTB Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief External Interrupt PORTC Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief External Interrupt PORTD Interrupt routine. * @param None * @retval None */ extern unsigned int textshown_pos0; extern unsigned int textshown_pos1; extern unsigned char textbuf[]; extern unsigned int textlen; extern void OLED_ShowString(unsigned char,unsigned char, unsigned char*,unsigned char); extern void delay_ms(unsigned int); extern unsigned char IsButtonB(); INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ int temp0; int temp1; disableInterrupts(); delay_ms(100); temp0=textshown_pos0; temp1=textshown_pos1; //EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD,EXTI_SENSITIVITY_RISE_ONLY); while(textbuf[textshown_pos0++]!=0 && textshown_pos0<textlen+1); while(textbuf[textshown_pos1++]!=0 && textshown_pos1<textlen+1); textshown_pos0+=2;textshown_pos1+=2; if(textshown_pos0 > textlen+1)textshown_pos0=1; if(textshown_pos1 > textlen+1)textshown_pos1=1; OLED_Clear(); OLED_ShowString(0,0,(unsigned char*)(textbuf+temp0),16); OLED_ShowString(0,2,(unsigned char*)(textbuf+temp1),16); while(IsButtonB()==0); delay_ms(100); enableInterrupts(); } /** * @brief External Interrupt PORTE Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #if defined (STM8S903) || defined (STM8AF622x) /** * @brief External Interrupt PORTF Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EXTI_PORTF_IRQHandler, 8) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S903) || (STM8AF622x) */ #if defined (STM8S208) || defined (STM8AF52Ax) /** * @brief CAN RX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(CAN_RX_IRQHandler, 8) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief CAN TX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(CAN_TX_IRQHandler, 9) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S208) || (STM8AF52Ax) */ /** * @brief SPI Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(SPI_IRQHandler, 10) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Timer1 Update/Overflow/Trigger/Break Interrupt routine. * @param None * @retval None */ extern unsigned char led_count; INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ FlagStatus fs; disableInterrupts(); fs = TIM1_GetFlagStatus(TIM1_FLAG_UPDATE); if(fs == SET) { TIM1_ClearFlag(TIM1_FLAG_UPDATE); led_count++; led_count%=8; led_routine(); } enableInterrupts(); } /** * @brief Timer1 Capture/Compare Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #if defined (STM8S903) || defined (STM8AF622x) /** * @brief Timer5 Update/Overflow/Break/Trigger Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM5_UPD_OVF_BRK_TRG_IRQHandler, 13) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Timer5 Capture/Compare Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM5_CAP_COM_IRQHandler, 14) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */ /** * @brief Timer2 Update/Overflow/Break Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Timer2 Capture/Compare Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S903) || (STM8AF622x) */ #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \ defined(STM8S005) || defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8AF626x) /** * @brief Timer3 Update/Overflow/Break Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM3_UPD_OVF_BRK_IRQHandler, 15) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief Timer3 Capture/Compare Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM3_CAP_COM_IRQHandler, 16) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */ #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \ defined(STM8S003) || defined (STM8AF62Ax) || defined (STM8AF52Ax) || defined (STM8S903) /** * @brief UART1 TX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief UART1 RX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S208) || (STM8S207) || (STM8S103) || (STM8S903) || (STM8AF62Ax) || (STM8AF52Ax) */ #if defined(STM8AF622x) /** * @brief UART4 TX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART4_TX_IRQHandler, 17) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief UART4 RX Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART4_RX_IRQHandler, 18) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8AF622x) */ /** * @brief I2C Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(I2C_IRQHandler, 19) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x) /** * @brief UART2 TX interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief UART2 RX interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S105) || (STM8AF626x) */ #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax) /** * @brief UART3 TX interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART3_TX_IRQHandler, 20) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @brief UART3 RX interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(UART3_RX_IRQHandler, 21) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S208) || (STM8S207) || (STM8AF52Ax) || (STM8AF62Ax) */ #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax) /** * @brief ADC2 interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(ADC2_IRQHandler, 22) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #else /* STM8S105 or STM8S103 or STM8S903 or STM8AF626x or STM8AF622x */ /** * @brief ADC1 interrupt routine. * @par Parameters: * None * @retval * None */ INTERRUPT_HANDLER(ADC1_IRQHandler, 22) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S208) || (STM8S207) || (STM8AF52Ax) || (STM8AF62Ax) */ #if defined (STM8S903) || defined (STM8AF622x) /** * @brief Timer6 Update/Overflow/Trigger Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHandler, 23) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #else /* STM8S208 or STM8S207 or STM8S105 or STM8S103 or STM8AF52Ax or STM8AF62Ax or STM8AF626x */ /** * @brief Timer4 Update/Overflow Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } #endif /* (STM8S903) || (STM8AF622x)*/ /** * @brief Eeprom EEC Interrupt routine. * @param None * @retval None */ INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler, 24) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ } /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Report a bug