stm32ral/stm32f1/stm32f103/
interrupts.rs1#[cfg(feature = "rt")]
2extern "C" {
3 fn WWDG();
4 fn PVD();
5 fn TAMPER();
6 fn RTC();
7 fn FLASH();
8 fn RCC();
9 fn EXTI0();
10 fn EXTI1();
11 fn EXTI2();
12 fn EXTI3();
13 fn EXTI4();
14 fn DMA1_Channel1();
15 fn DMA1_Channel2();
16 fn DMA1_Channel3();
17 fn DMA1_Channel4();
18 fn DMA1_Channel5();
19 fn DMA1_Channel6();
20 fn DMA1_Channel7();
21 fn ADC1_2();
22 fn USB_HP_CAN_TX();
23 fn USB_LP_CAN_RX0();
24 fn CAN_RX1();
25 fn CAN_SCE();
26 fn EXTI9_5();
27 fn TIM1_BRK();
28 fn TIM1_UP();
29 fn TIM1_TRG_COM();
30 fn TIM1_CC();
31 fn TIM2();
32 fn TIM3();
33 fn TIM4();
34 fn I2C1_EV();
35 fn I2C1_ER();
36 fn I2C2_EV();
37 fn I2C2_ER();
38 fn SPI1();
39 fn SPI2();
40 fn USART1();
41 fn USART2();
42 fn USART3();
43 fn EXTI15_10();
44 fn RTCAlarm();
45 fn TIM8_BRK();
46 fn TIM8_UP();
47 fn TIM8_TRG_COM();
48 fn TIM8_CC();
49 fn ADC3();
50 fn FSMC();
51 fn SDIO();
52 fn TIM5();
53 fn SPI3();
54 fn UART4();
55 fn UART5();
56 fn TIM6();
57 fn TIM7();
58 fn DMA2_Channel1();
59 fn DMA2_Channel2();
60 fn DMA2_Channel3();
61 fn DMA2_Channel4_5();
62}
63
64#[doc(hidden)]
65pub union Vector {
66 _handler: unsafe extern "C" fn(),
67 _reserved: u32,
68}
69
70#[cfg(feature = "rt")]
71#[doc(hidden)]
72#[link_section = ".vector_table.interrupts"]
73#[no_mangle]
74pub static __INTERRUPTS: [Vector; 60] = [
75 Vector { _handler: WWDG },
76 Vector { _handler: PVD },
77 Vector { _handler: TAMPER },
78 Vector { _handler: RTC },
79 Vector { _handler: FLASH },
80 Vector { _handler: RCC },
81 Vector { _handler: EXTI0 },
82 Vector { _handler: EXTI1 },
83 Vector { _handler: EXTI2 },
84 Vector { _handler: EXTI3 },
85 Vector { _handler: EXTI4 },
86 Vector {
87 _handler: DMA1_Channel1,
88 },
89 Vector {
90 _handler: DMA1_Channel2,
91 },
92 Vector {
93 _handler: DMA1_Channel3,
94 },
95 Vector {
96 _handler: DMA1_Channel4,
97 },
98 Vector {
99 _handler: DMA1_Channel5,
100 },
101 Vector {
102 _handler: DMA1_Channel6,
103 },
104 Vector {
105 _handler: DMA1_Channel7,
106 },
107 Vector { _handler: ADC1_2 },
108 Vector {
109 _handler: USB_HP_CAN_TX,
110 },
111 Vector {
112 _handler: USB_LP_CAN_RX0,
113 },
114 Vector { _handler: CAN_RX1 },
115 Vector { _handler: CAN_SCE },
116 Vector { _handler: EXTI9_5 },
117 Vector { _handler: TIM1_BRK },
118 Vector { _handler: TIM1_UP },
119 Vector {
120 _handler: TIM1_TRG_COM,
121 },
122 Vector { _handler: TIM1_CC },
123 Vector { _handler: TIM2 },
124 Vector { _handler: TIM3 },
125 Vector { _handler: TIM4 },
126 Vector { _handler: I2C1_EV },
127 Vector { _handler: I2C1_ER },
128 Vector { _handler: I2C2_EV },
129 Vector { _handler: I2C2_ER },
130 Vector { _handler: SPI1 },
131 Vector { _handler: SPI2 },
132 Vector { _handler: USART1 },
133 Vector { _handler: USART2 },
134 Vector { _handler: USART3 },
135 Vector {
136 _handler: EXTI15_10,
137 },
138 Vector { _handler: RTCAlarm },
139 Vector { _reserved: 0 },
140 Vector { _handler: TIM8_BRK },
141 Vector { _handler: TIM8_UP },
142 Vector {
143 _handler: TIM8_TRG_COM,
144 },
145 Vector { _handler: TIM8_CC },
146 Vector { _handler: ADC3 },
147 Vector { _handler: FSMC },
148 Vector { _handler: SDIO },
149 Vector { _handler: TIM5 },
150 Vector { _handler: SPI3 },
151 Vector { _handler: UART4 },
152 Vector { _handler: UART5 },
153 Vector { _handler: TIM6 },
154 Vector { _handler: TIM7 },
155 Vector {
156 _handler: DMA2_Channel1,
157 },
158 Vector {
159 _handler: DMA2_Channel2,
160 },
161 Vector {
162 _handler: DMA2_Channel3,
163 },
164 Vector {
165 _handler: DMA2_Channel4_5,
166 },
167];
168
169#[repr(u16)]
171#[derive(Copy, Clone, Debug, PartialEq, Eq)]
172#[allow(non_camel_case_types)]
173pub enum Interrupt {
174 WWDG = 0,
176 PVD = 1,
178 TAMPER = 2,
180 RTC = 3,
182 FLASH = 4,
184 RCC = 5,
186 EXTI0 = 6,
188 EXTI1 = 7,
190 EXTI2 = 8,
192 EXTI3 = 9,
194 EXTI4 = 10,
196 DMA1_Channel1 = 11,
198 DMA1_Channel2 = 12,
200 DMA1_Channel3 = 13,
202 DMA1_Channel4 = 14,
204 DMA1_Channel5 = 15,
206 DMA1_Channel6 = 16,
208 DMA1_Channel7 = 17,
210 ADC1_2 = 18,
212 USB_HP_CAN_TX = 19,
214 USB_LP_CAN_RX0 = 20,
216 CAN_RX1 = 21,
218 CAN_SCE = 22,
220 EXTI9_5 = 23,
222 TIM1_BRK = 24,
224 TIM1_UP = 25,
226 TIM1_TRG_COM = 26,
228 TIM1_CC = 27,
230 TIM2 = 28,
232 TIM3 = 29,
234 TIM4 = 30,
236 I2C1_EV = 31,
238 I2C1_ER = 32,
240 I2C2_EV = 33,
242 I2C2_ER = 34,
244 SPI1 = 35,
246 SPI2 = 36,
248 USART1 = 37,
250 USART2 = 38,
252 USART3 = 39,
254 EXTI15_10 = 40,
256 RTCAlarm = 41,
258 TIM8_BRK = 43,
260 TIM8_UP = 44,
262 TIM8_TRG_COM = 45,
264 TIM8_CC = 46,
266 ADC3 = 47,
268 FSMC = 48,
270 SDIO = 49,
272 TIM5 = 50,
274 SPI3 = 51,
276 UART4 = 52,
278 UART5 = 53,
280 TIM6 = 54,
282 TIM7 = 55,
284 DMA2_Channel1 = 56,
286 DMA2_Channel2 = 57,
288 DMA2_Channel3 = 58,
290 DMA2_Channel4_5 = 59,
292}
293unsafe impl external_cortex_m::interrupt::InterruptNumber for Interrupt {
294 #[inline(always)]
295 fn number(self) -> u16 {
296 self as u16
297 }
298}