NRF24L+ STM8 Compatible Library
stm8s_it.h
Go to the documentation of this file.
1 
28 /* Define to prevent recursive inclusion -------------------------------------*/
29 #ifndef __STM8S_IT_H
30 #define __STM8S_IT_H
31 
32 /* Includes ------------------------------------------------------------------*/
33 #include "stm8s.h"
34 
35 /* Exported types ------------------------------------------------------------*/
36 /* Exported constants --------------------------------------------------------*/
37 /* Exported macro ------------------------------------------------------------*/
38 /* Exported functions ------------------------------------------------------- */
39 #ifdef _COSMIC_
40  void _stext(void); /* RESET startup routine */
41  INTERRUPT void NonHandledInterrupt(void);
42 #endif /* _COSMIC_ */
43 
44 // SDCC patch: requires separate handling for SDCC (see below)
45 #if !defined(_RAISONANCE_) && !defined(_SDCC_)
46  INTERRUPT void TRAP_IRQHandler(void); /* TRAP */
47  INTERRUPT void TLI_IRQHandler(void); /* TLI */
48  INTERRUPT void AWU_IRQHandler(void); /* AWU */
49  INTERRUPT void CLK_IRQHandler(void); /* CLOCK */
50  INTERRUPT void EXTI_PORTA_IRQHandler(void); /* EXTI PORTA */
51  INTERRUPT void EXTI_PORTB_IRQHandler(void); /* EXTI PORTB */
52  INTERRUPT void EXTI_PORTC_IRQHandler(void); /* EXTI PORTC */
53  INTERRUPT void EXTI_PORTD_IRQHandler(void); /* EXTI PORTD */
54  INTERRUPT void EXTI_PORTE_IRQHandler(void); /* EXTI PORTE */
55 
56 #if defined(STM8S903) || defined(STM8AF622x) // SDCC patch: add STM8AF622x
57  INTERRUPT void EXTI_PORTF_IRQHandler(void); /* EXTI PORTF */
58 #endif /* (STM8S903) || (STM8AF622x) */
59 
60 #if defined (STM8S208) || defined (STM8AF52Ax)
61  INTERRUPT void CAN_RX_IRQHandler(void); /* CAN RX */
62  INTERRUPT void CAN_TX_IRQHandler(void); /* CAN TX/ER/SC */
63 #endif /* (STM8S208) || (STM8AF52Ax) */
64 
65  INTERRUPT void SPI_IRQHandler(void); /* SPI */
66  INTERRUPT void TIM1_CAP_COM_IRQHandler(void); /* TIM1 CAP/COM */
67  INTERRUPT void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void); /* TIM1 UPD/OVF/TRG/BRK */
68 
69 #if defined(STM8S903) || defined(STM8AF622x) // SDCC patch: add STM8AF622x
70  INTERRUPT void TIM5_UPD_OVF_BRK_TRG_IRQHandler(void); /* TIM5 UPD/OVF/BRK/TRG */
71  INTERRUPT void TIM5_CAP_COM_IRQHandler(void); /* TIM5 CAP/COM */
72 #else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8S001) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
73  INTERRUPT void TIM2_UPD_OVF_BRK_IRQHandler(void); /* TIM2 UPD/OVF/BRK */
74  INTERRUPT void TIM2_CAP_COM_IRQHandler(void); /* TIM2 CAP/COM */
75 #endif /* (STM8S903) || (STM8AF622x) */
76 
77 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
78  defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
79  INTERRUPT void TIM3_UPD_OVF_BRK_IRQHandler(void); /* TIM3 UPD/OVF/BRK */
80  INTERRUPT void TIM3_CAP_COM_IRQHandler(void); /* TIM3 CAP/COM */
81 #endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
82 
83 #if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \
84  defined(STM8S003) || defined(STM8S001) || defined(STM8AF52Ax) || defined(STM8AF62Ax) || defined(STM8S903)
85  INTERRUPT void UART1_TX_IRQHandler(void); /* UART1 TX */
86  INTERRUPT void UART1_RX_IRQHandler(void); /* UART1 RX */
87 #endif /* (STM8S208) || (STM8S207) || (STM8S007) || (STM8S103) || (STM8S003) || (STM8S001) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8S903) */
88 
89 #if defined (STM8AF622x) // SDCC patch: add STM8AF622x
90  INTERRUPT void UART4_TX_IRQHandler(void); /* UART4 TX */
91  INTERRUPT void UART4_RX_IRQHandler(void); /* UART4 RX */
92 #endif /* (STM8AF622x) */
93 
94  INTERRUPT void I2C_IRQHandler(void); /* I2C */
95 
96 #if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
97  INTERRUPT void UART2_RX_IRQHandler(void); /* UART2 RX */
98  INTERRUPT void UART2_TX_IRQHandler(void); /* UART2 TX */
99 #endif /* (STM8S105) || (STM8S005) || (STM8AF626x) */
100 
101 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
102  INTERRUPT void UART3_RX_IRQHandler(void); /* UART3 RX */
103  INTERRUPT void UART3_TX_IRQHandler(void); /* UART3 TX */
104 #endif /* (STM8S207) || (STM8S007) || (STM8S208) || (STM8AF52Ax) || (STM8AF62Ax) */
105 
106 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
107  INTERRUPT void ADC2_IRQHandler(void); /* ADC2 */
108 #else /* (STM8S105) || (STM8S103) || (STM8S903) || (STM8AF622x) */
109  INTERRUPT void ADC1_IRQHandler(void); /* ADC1 */
110 #endif /* (STM8S207) || (STM8S007) || (STM8S208) || (STM8AF52Ax) || (STM8AF62Ax) */
111 
112 #if defined(STM8S903) || defined(STM8AF622x) // SDCC patch: add STM8AF622x
113  INTERRUPT void TIM6_UPD_OVF_TRG_IRQHandler(void); /* TIM6 UPD/OVF/TRG */
114 #else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */
115  INTERRUPT void TIM4_UPD_OVF_IRQHandler(void); /* TIM4 UPD/OVF */
116 #endif /* (STM8S903) || (STM8AF622x) */
117  INTERRUPT void EEPROM_EEC_IRQHandler(void); /* EEPROM ECC CORRECTION */
118 
119 
120 // SDCC patch: __interrupt keyword required after function name --> requires new block
121 #elif defined (_SDCC_)
122 
124  INTERRUPT_HANDLER(TLI_IRQHandler, 0); /* TLI */
125  INTERRUPT_HANDLER(AWU_IRQHandler, 1); /* AWU */
126  INTERRUPT_HANDLER(CLK_IRQHandler, 2); /* CLOCK */
127  INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler, 3); /* EXTI PORTA */
128  INTERRUPT_HANDLER(EXTI_PORTB_IRQHandler, 4); /* EXTI PORTB */
129  INTERRUPT_HANDLER(EXTI_PORTC_IRQHandler, 5); /* EXTI PORTC */
130  INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6); /* EXTI PORTD */
131  INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7); /* EXTI PORTE */
132 
133 #if defined(STM8S903) || defined(STM8AF622x)
134  INTERRUPT_HANDLER(EXTI_PORTF_IRQHandler, 8); /* EXTI PORTF */
135 #endif /* (STM8S903) || (STM8AF622x) */
136 
137 #if defined (STM8S208) || defined (STM8AF52Ax)
138  INTERRUPT_HANDLER(CAN_RX_IRQHandler, 8); /* CAN RX */
139  INTERRUPT_HANDLER(CAN_TX_IRQHandler, 9); /* CAN TX/ER/SC */
140 #endif /* (STM8S208) || (STM8AF52Ax) */
141 
142  INTERRUPT_HANDLER(SPI_IRQHandler, 10); /* SPI */
143  INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11); /* TIM1 UPD/OVF/TRG/BRK */
144  INTERRUPT_HANDLER(TIM1_CAP_COM_IRQHandler, 12); /* TIM1 CAP/COM */
145 
146 #if defined(STM8S903) || defined(STM8AF622x)
147  INTERRUPT_HANDLER(TIM5_UPD_OVF_BRK_TRG_IRQHandler, 13); /* TIM5 UPD/OVF/BRK/TRG */
148  INTERRUPT_HANDLER(TIM5_CAP_COM_IRQHandler, 14); /* TIM5 CAP/COM */
149 #else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8S001) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
150  INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13); /* TIM2 UPD/OVF/BRK */
151  INTERRUPT_HANDLER(TIM2_CAP_COM_IRQHandler, 14); /* TIM2 CAP/COM */
152 #endif /* (STM8S903) || (STM8AF622x) */
153 
154 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S105) || \
155  defined(STM8S005) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8AF626x)
156  INTERRUPT_HANDLER(TIM3_UPD_OVF_BRK_IRQHandler, 15); /* TIM3 UPD/OVF/BRK */
157  INTERRUPT_HANDLER(TIM3_CAP_COM_IRQHandler, 16); /* TIM3 CAP/COM */
158 #endif /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8AF52Ax) || (STM8AF62Ax) || (STM8A626x) */
159 
160 #if defined (STM8S208) || defined(STM8S207) || defined(STM8S007) || defined(STM8S103) || \
161  defined(STM8S003) || defined(STM8S001) || defined (STM8AF52Ax) || defined (STM8AF62Ax) || defined (STM8S903)
162  INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17); /* UART1 TX */
163  INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18); /* UART1 RX */
164 #endif /* (STM8S208) || (STM8S207) || (STM8S903) || (STM8S103) || (STM8S001) || (STM8AF52Ax) || (STM8AF62Ax) */
165 
166 #if defined (STM8AF622x)
167  INTERRUPT_HANDLER(UART4_TX_IRQHandler, 17); /* UART4 TX */
168  INTERRUPT_HANDLER(UART4_RX_IRQHandler, 18); /* UART4 RX */
169 #endif /* (STM8AF622x) */
170 
171  INTERRUPT_HANDLER(I2C_IRQHandler, 19); /* I2C */
172 
173 #if defined(STM8S105) || defined(STM8S005) || defined (STM8AF626x)
174  INTERRUPT_HANDLER(UART2_TX_IRQHandler, 20); /* UART2 TX */
175  INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21); /* UART2 RX */
176 #endif /* (STM8S105) || (STM8AF626x) */
177 
178 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
179  INTERRUPT_HANDLER(UART3_RX_IRQHandler, 20); /* UART3 RX */
180  INTERRUPT_HANDLER(UART3_TX_IRQHandler, 21); /* UART3 TX */
181 #endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
182 
183 #if defined(STM8S207) || defined(STM8S007) || defined(STM8S208) || defined (STM8AF52Ax) || defined (STM8AF62Ax)
184  INTERRUPT_HANDLER(ADC2_IRQHandler, 22); /* ADC2 */
185 #else /* (STM8S105) || (STM8S103) || (STM8S903) || (STM8AF622x) */
186  INTERRUPT_HANDLER(ADC1_IRQHandler, 22); /* ADC1 */
187 #endif /* (STM8S207) || (STM8S208) || (STM8AF62Ax) || (STM8AF52Ax) */
188 
189 #if defined(STM8S903) || defined(STM8AF622x)
190  INTERRUPT_HANDLER(TIM6_UPD_OVF_TRG_IRQHandler, 23); /* TIM6 UPD/OVF/TRG */
191 #else /* (STM8S208) || (STM8S207) || (STM8S105) || (STM8S103) || (STM8AF62Ax) || (STM8AF52Ax) || (STM8AF626x) */
192  INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23); /* TIM4 UPD/OVF */
193 #endif /* (STM8S903) || (STM8AF622x) */
194  INTERRUPT_HANDLER(EEPROM_EEC_IRQHandler, 24); /* EEPROM ECC CORRECTION */
195 
196 #endif /* !(_RAISONANCE_) && !(_SDCC_) */
197 
198 #endif /* __STM8S_IT_H */
199 
200 
201 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
INTERRUPT_HANDLER(TLI_IRQHandler, 0)
Top Level Interrupt routine.
Definition: stm8s_it.c:74
INTERRUPT_HANDLER_TRAP(TRAP_IRQHandler)
TRAP interrupt routine.
Definition: stm8s_it.c:63
INTERRUPT void CLK_IRQHandler(void)
INTERRUPT void EEPROM_EEC_IRQHandler(void)
INTERRUPT void EXTI_PORTA_IRQHandler(void)
INTERRUPT void I2C_IRQHandler(void)
INTERRUPT void TIM4_UPD_OVF_IRQHandler(void)
INTERRUPT void EXTI_PORTC_IRQHandler(void)
INTERRUPT void TIM2_UPD_OVF_BRK_IRQHandler(void)
INTERRUPT void TIM1_CAP_COM_IRQHandler(void)
INTERRUPT void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
INTERRUPT void EXTI_PORTE_IRQHandler(void)
INTERRUPT void TRAP_IRQHandler(void)
INTERRUPT void ADC1_IRQHandler(void)
INTERRUPT void TIM2_CAP_COM_IRQHandler(void)
INTERRUPT void AWU_IRQHandler(void)
INTERRUPT void TLI_IRQHandler(void)
INTERRUPT void SPI_IRQHandler(void)
INTERRUPT void EXTI_PORTD_IRQHandler(void)
INTERRUPT void EXTI_PORTB_IRQHandler(void)