root / arduino-1.0 / hardware / arduino / bootloaders / stk500v2 / avrinterruptnames.h @ 58d82c77
History | View | Annotate | Download (19.1 KB)
1 |
//**************************************************************************************************
|
---|---|
2 |
//*
|
3 |
//* interrupt vector names
|
4 |
//*
|
5 |
//* It is important to note that the vector numbers listed here
|
6 |
//* are the ATMEL documentation numbers. The Arduino numbers are 1 less
|
7 |
//* This is because the Atmel docs start numbering the interrupts at 1
|
8 |
//* when it is actually vector #0 in the table.
|
9 |
//**************************************************************************************************
|
10 |
//* Jun 1, 2010 <MLS> Added support for ATmega1281
|
11 |
//* Jun 30, 2010 <MLS> Putting in more ifdefs to conserve space
|
12 |
//* Jul 3, 2010 <MLS> More #ifdefs to conserve space and testing on most of my boards
|
13 |
//* Jul 4, 2010 <MLS> Started using vector defs for #ifdefs as defined in <avr/io.h>
|
14 |
//* Jul 13, 2010 <MLS> Added support for __AVR_ATmega128__
|
15 |
//* Aug 26, 2010 <MLS> Added support for __AVR_ATmega2561__
|
16 |
//**************************************************************************************************
|
17 |
|
18 |
//#include "avrinterruptnames.h"
|
19 |
|
20 |
//**************************************************************************************************
|
21 |
//* this defines the interrupt vectors and allows us to compile ONLY those strings that are actually
|
22 |
//* in the target CPU. This way we do not have to keep making changes based on cpu, it will be
|
23 |
//* automatic even if we add a new CPU
|
24 |
#ifndef _AVR_IO_H_
|
25 |
#include <avr/io.h> |
26 |
#endif
|
27 |
//**************************************************************************************************
|
28 |
|
29 |
#ifdef __MWERKS__
|
30 |
#define prog_char char |
31 |
#define PGM_P char * |
32 |
#endif
|
33 |
|
34 |
prog_char gAvrInt_RESET[] PROGMEM = "RESET";
|
35 |
#ifdef INT0_vect
|
36 |
prog_char gAvrInt_INT0[] PROGMEM = "INT0";
|
37 |
#endif
|
38 |
#ifdef INT1_vect
|
39 |
prog_char gAvrInt_INT1[] PROGMEM = "INT1";
|
40 |
#endif
|
41 |
#ifdef INT2_vect
|
42 |
prog_char gAvrInt_INT2[] PROGMEM = "INT2";
|
43 |
#endif
|
44 |
#ifdef INT3_vect
|
45 |
prog_char gAvrInt_INT3[] PROGMEM = "INT3";
|
46 |
#endif
|
47 |
#ifdef INT4_vect
|
48 |
prog_char gAvrInt_INT4[] PROGMEM = "INT4";
|
49 |
#endif
|
50 |
#ifdef INT5_vect
|
51 |
prog_char gAvrInt_INT5[] PROGMEM = "INT5";
|
52 |
#endif
|
53 |
#ifdef INT6_vect
|
54 |
prog_char gAvrInt_INT6[] PROGMEM = "INT6";
|
55 |
#endif
|
56 |
#ifdef INT7_vect
|
57 |
prog_char gAvrInt_INT7[] PROGMEM = "INT7";
|
58 |
#endif
|
59 |
#ifdef PCINT0_vect
|
60 |
prog_char gAvrInt_PCINT0[] PROGMEM = "PCINT0";
|
61 |
#endif
|
62 |
#ifdef PCINT1_vect
|
63 |
prog_char gAvrInt_PCINT1[] PROGMEM = "PCINT1";
|
64 |
#endif
|
65 |
#ifdef PCINT2_vect
|
66 |
prog_char gAvrInt_PCINT2[] PROGMEM = "PCINT2";
|
67 |
#endif
|
68 |
#ifdef PCINT3_vect
|
69 |
prog_char gAvrInt_PCINT3[] PROGMEM = "PCINT3";
|
70 |
#endif
|
71 |
#ifdef WDT_vect
|
72 |
prog_char gAvrInt_WDT[] PROGMEM = "WDT";
|
73 |
#endif
|
74 |
#ifdef TIMER0_COMP_vect
|
75 |
prog_char gAvrInt_TIMER0_COMP[] PROGMEM = "TIMER0 COMP";
|
76 |
#endif
|
77 |
#ifdef TIMER0_COMPA_vect
|
78 |
prog_char gAvrInt_TIMER0_COMPA[] PROGMEM = "TIMER0 COMPA";
|
79 |
#endif
|
80 |
#ifdef TIMER0_COMPB_vect
|
81 |
prog_char gAvrInt_TIMER0_COMPB[] PROGMEM = "TIMER0 COMPB";
|
82 |
#endif
|
83 |
#ifdef TIMER0_OVF_vect
|
84 |
prog_char gAvrInt_TIMER0_OVF[] PROGMEM = "TIMER0 OVF";
|
85 |
#endif
|
86 |
#ifdef TIMER1_CAPT_vect
|
87 |
prog_char gAvrInt_TIMER1_CAPT[] PROGMEM = "TIMER1 CAPT";
|
88 |
#endif
|
89 |
#ifdef TIMER1_COMPA_vect
|
90 |
prog_char gAvrInt_TIMER1_COMPA[] PROGMEM = "TIMER1 COMPA";
|
91 |
#endif
|
92 |
#ifdef TIMER1_COMPB_vect
|
93 |
prog_char gAvrInt_TIMER1_COMPB[] PROGMEM = "TIMER1 COMPB";
|
94 |
#endif
|
95 |
#ifdef TIMER1_COMPC_vect
|
96 |
prog_char gAvrInt_TIMER1_COMPC[] PROGMEM = "TIMER1 COMPC";
|
97 |
#endif
|
98 |
#ifdef TIMER1_OVF_vect
|
99 |
prog_char gAvrInt_TIMER1_OVF[] PROGMEM = "TIMER1 OVF";
|
100 |
#endif
|
101 |
#ifdef TIMER2_COMP_vect
|
102 |
prog_char gAvrInt_TIMER2_COMP[] PROGMEM = "TIMER2 COMP";
|
103 |
#endif
|
104 |
#ifdef TIMER2_COMPA_vect
|
105 |
prog_char gAvrInt_TIMER2_COMPA[] PROGMEM = "TIMER2 COMPA";
|
106 |
#endif
|
107 |
#ifdef TIMER2_COMPB_vect
|
108 |
prog_char gAvrInt_TIMER2_COMPB[] PROGMEM = "TIMER2 COMPB";
|
109 |
#endif
|
110 |
#ifdef TIMER2_OVF_vect
|
111 |
prog_char gAvrInt_TIMER2_OVF[] PROGMEM = "TIMER2 OVF";
|
112 |
#endif
|
113 |
#ifdef TIMER3_CAPT_vect
|
114 |
prog_char gAvrInt_TIMER3_CAPT[] PROGMEM = "TIMER3 CAPT";
|
115 |
#endif
|
116 |
#ifdef TIMER3_COMPA_vect
|
117 |
prog_char gAvrInt_TIMER3_COMPA[] PROGMEM = "TIMER3 COMPA";
|
118 |
#endif
|
119 |
#ifdef TIMER3_COMPB_vect
|
120 |
prog_char gAvrInt_TIMER3_COMPB[] PROGMEM = "TIMER3 COMPB";
|
121 |
#endif
|
122 |
#ifdef TIMER3_COMPC_vect
|
123 |
prog_char gAvrInt_TIMER3_COMPC[] PROGMEM = "TIMER3 COMPC";
|
124 |
#endif
|
125 |
#ifdef TIMER3_OVF_vect
|
126 |
prog_char gAvrInt_TIMER3_OVF[] PROGMEM = "TIMER3 OVF";
|
127 |
#endif
|
128 |
#ifdef TIMER4_CAPT_vect
|
129 |
prog_char gAvrInt_TIMER4_CAPT[] PROGMEM = "TIMER4 CAPT";
|
130 |
#endif
|
131 |
#ifdef TIMER4_COMPA_vect
|
132 |
prog_char gAvrInt_TIMER4_COMPA[] PROGMEM = "TIMER4 COMPA";
|
133 |
#endif
|
134 |
#ifdef TIMER4_COMPB_vect
|
135 |
prog_char gAvrInt_TIMER4_COMPB[] PROGMEM = "TIMER4 COMPB";
|
136 |
#endif
|
137 |
#ifdef TIMER4_COMPC_vect
|
138 |
prog_char gAvrInt_TIMER4_COMPC[] PROGMEM = "TIMER4 COMPC";
|
139 |
#endif
|
140 |
#ifdef TIMER4_COMPD_vect
|
141 |
prog_char gAvrInt_TIMER4_COMPD[] PROGMEM = "TIMER4 COMPD";
|
142 |
#endif
|
143 |
#ifdef TIMER4_OVF_vect
|
144 |
prog_char gAvrInt_TIMER4_OVF[] PROGMEM = "TIMER4 OVF";
|
145 |
#endif
|
146 |
#ifdef TIMER4_FPF_vect
|
147 |
prog_char gAvrInt_TIMER4_FPF[] PROGMEM = "TIMER4 Fault Protection";
|
148 |
#endif
|
149 |
#ifdef TIMER5_CAPT_vect
|
150 |
prog_char gAvrInt_TIMER5_CAPT[] PROGMEM = "TIMER5 CAPT";
|
151 |
#endif
|
152 |
#ifdef TIMER5_COMPA_vect
|
153 |
prog_char gAvrInt_TIMER5_COMPA[] PROGMEM = "TIMER5 COMPA";
|
154 |
#endif
|
155 |
#ifdef TIMER5_COMPB_vect
|
156 |
prog_char gAvrInt_TIMER5_COMPB[] PROGMEM = "TIMER5 COMPB";
|
157 |
#endif
|
158 |
#ifdef TIMER5_COMPC_vect
|
159 |
prog_char gAvrInt_TIMER5_COMPC[] PROGMEM = "TIMER5 COMPC";
|
160 |
#endif
|
161 |
#ifdef TIMER5_OVF_vect
|
162 |
prog_char gAvrInt_TIMER5_OVF[] PROGMEM = "TIMER5 OVF";
|
163 |
#endif
|
164 |
|
165 |
//* when there is only 1 usart
|
166 |
#if defined(USART_RX_vect) || defined(USART_RXC_vect)
|
167 |
prog_char gAvrInt_USART_RX[] PROGMEM = "USART RX";
|
168 |
#endif
|
169 |
#if defined(USART_UDRE_vect)
|
170 |
prog_char gAvrInt_USART_UDRE[] PROGMEM = "USART UDRE";
|
171 |
#endif
|
172 |
#if defined(USART_TX_vect) || defined(USART_TXC_vect)
|
173 |
prog_char gAvrInt_USART_TX[] PROGMEM = "USART TX";
|
174 |
#endif
|
175 |
|
176 |
|
177 |
//* usart 0
|
178 |
#if defined(USART0_RX_vect)
|
179 |
prog_char gAvrInt_USART0_RX[] PROGMEM = "USART0 RX";
|
180 |
#endif
|
181 |
#if defined(USART0_UDRE_vect)
|
182 |
prog_char gAvrInt_USART0_UDRE[] PROGMEM = "USART0 UDRE";
|
183 |
#endif
|
184 |
#if defined(USART0_TX_vect)
|
185 |
prog_char gAvrInt_USART0_TX[] PROGMEM = "USART0 TX";
|
186 |
#endif
|
187 |
|
188 |
|
189 |
//* usart 1
|
190 |
#ifdef USART1_RX_vect
|
191 |
prog_char gAvrInt_USART1_RX[] PROGMEM = "USART1 RX";
|
192 |
#endif
|
193 |
#ifdef USART1_UDRE_vect
|
194 |
prog_char gAvrInt_USART1_UDRE[] PROGMEM = "USART1 UDRE";
|
195 |
#endif
|
196 |
#ifdef USART1_TX_vect
|
197 |
prog_char gAvrInt_USART1_TX[] PROGMEM = "USART1 TX";
|
198 |
#endif
|
199 |
|
200 |
//* usart 2
|
201 |
#ifdef USART2_RX_vect
|
202 |
prog_char gAvrInt_USART2_RX[] PROGMEM = "USART2 RX";
|
203 |
#endif
|
204 |
#ifdef USART2_UDRE_vect
|
205 |
prog_char gAvrInt_USART2_UDRE[] PROGMEM = "USART2 UDRE";
|
206 |
#endif
|
207 |
#ifdef USART2_TX_vect
|
208 |
prog_char gAvrInt_USART2_TX[] PROGMEM = "USART2 TX";
|
209 |
#endif
|
210 |
|
211 |
//* usart 3
|
212 |
#ifdef USART3_RX_vect
|
213 |
prog_char gAvrInt_USART3_RX[] PROGMEM = "USART3 RX";
|
214 |
#endif
|
215 |
#ifdef USART3_UDRE_vect
|
216 |
prog_char gAvrInt_USART3_UDRE[] PROGMEM = "USART3 UDRE";
|
217 |
#endif
|
218 |
#ifdef USART3_TX_vect
|
219 |
prog_char gAvrInt_USART3_TX[] PROGMEM = "USART3 TX";
|
220 |
#endif
|
221 |
#ifdef SPI_STC_vect
|
222 |
prog_char gAvrInt_SPI_STC[] PROGMEM = "SPI STC";
|
223 |
#endif
|
224 |
#ifdef ADC_vect
|
225 |
prog_char gAvrInt_ADC[] PROGMEM = "ADC";
|
226 |
#endif
|
227 |
#if defined(ANALOG_COMP_vect) || defined(ANA_COMP_vect)
|
228 |
prog_char gAvrInt_ANALOG_COMP[] PROGMEM = "ANALOG COMP";
|
229 |
#endif
|
230 |
#if defined(EE_READY_vect) || defined(EE_RDY_vect)
|
231 |
prog_char gAvrInt_EE_READY[] PROGMEM = "EE READY";
|
232 |
#endif
|
233 |
#ifdef TWI_vect
|
234 |
prog_char gAvrInt_TWI[] PROGMEM = "TWI";
|
235 |
#endif
|
236 |
#if defined(SPM_READY_vect) || defined(SPM_RDY_vect)
|
237 |
prog_char gAvrInt_SPM_READY[] PROGMEM = "SPM READY";
|
238 |
#endif
|
239 |
#ifdef USI_START_vect
|
240 |
prog_char gAvrInt_USI_START[] PROGMEM = "USI START";
|
241 |
#endif
|
242 |
#ifdef USI_OVERFLOW_vect
|
243 |
prog_char gAvrInt_USI_OVERFLOW[] PROGMEM = "USI OVERFLOW";
|
244 |
#endif
|
245 |
#ifdef USB_GEN_vect
|
246 |
prog_char gAvrInt_USB_General[] PROGMEM = "USB General";
|
247 |
#endif
|
248 |
#ifdef USB_COM_vect
|
249 |
prog_char gAvrInt_USB_Endpoint[] PROGMEM = "USB Endpoint";
|
250 |
#endif
|
251 |
|
252 |
#ifdef LCD_vect
|
253 |
prog_char gAvrInt_LCD_StartFrame[] PROGMEM = "LCD Start of Frame";
|
254 |
#endif
|
255 |
|
256 |
|
257 |
//**************************************************************************************************
|
258 |
//* these do not have vector defs and have to be done by CPU type
|
259 |
#if defined(__AVR_ATmega645__ ) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2561__)
|
260 |
prog_char gAvrInt_NOT_USED[] PROGMEM = "NOT_USED";
|
261 |
#endif
|
262 |
#if defined(__AVR_ATmega32U4__)
|
263 |
prog_char gAvrInt_RESERVED[] PROGMEM = "Reserved";
|
264 |
#endif
|
265 |
|
266 |
prog_char gAvrInt_END[] PROGMEM = "*";
|
267 |
|
268 |
|
269 |
|
270 |
|
271 |
|
272 |
//**************************************************************************************************
|
273 |
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
|
274 |
#pragma mark __AVR_ATmega168__ / __AVR_ATmega328P__
|
275 |
|
276 |
#define _INTERRUPT_NAMES_DEFINED_
|
277 |
|
278 |
PGM_P gInterruptNameTable[] PROGMEM = |
279 |
{ |
280 |
|
281 |
gAvrInt_RESET, // 1
|
282 |
gAvrInt_INT0, // 2
|
283 |
gAvrInt_INT1, // 3
|
284 |
gAvrInt_PCINT0, // 4
|
285 |
gAvrInt_PCINT1, // 5
|
286 |
gAvrInt_PCINT2, // 6
|
287 |
gAvrInt_WDT, // 7
|
288 |
gAvrInt_TIMER2_COMPA, // 8
|
289 |
gAvrInt_TIMER2_COMPB, // 9
|
290 |
gAvrInt_TIMER2_OVF, // 10
|
291 |
gAvrInt_TIMER1_CAPT, // 11
|
292 |
gAvrInt_TIMER1_COMPA, // 12
|
293 |
gAvrInt_TIMER1_COMPB, // 13
|
294 |
gAvrInt_TIMER1_OVF, // 14
|
295 |
gAvrInt_TIMER0_COMPA, // 15
|
296 |
gAvrInt_TIMER0_COMPB, // 16
|
297 |
gAvrInt_TIMER0_OVF, // 17
|
298 |
gAvrInt_SPI_STC, // 18
|
299 |
gAvrInt_USART_RX, // 19
|
300 |
gAvrInt_USART_UDRE, // 20
|
301 |
gAvrInt_USART_TX, // 21
|
302 |
gAvrInt_ADC, // 22
|
303 |
gAvrInt_EE_READY, // 23
|
304 |
gAvrInt_ANALOG_COMP, // 24
|
305 |
gAvrInt_TWI, // 25
|
306 |
gAvrInt_SPM_READY, // 26
|
307 |
}; |
308 |
|
309 |
#endif
|
310 |
|
311 |
//**************************************************************************************************
|
312 |
#pragma mark __AVR_ATmega169__
|
313 |
#if defined(__AVR_ATmega169__)
|
314 |
|
315 |
#define _INTERRUPT_NAMES_DEFINED_
|
316 |
|
317 |
PGM_P gInterruptNameTable[] PROGMEM = |
318 |
{ |
319 |
|
320 |
gAvrInt_RESET, // 1
|
321 |
gAvrInt_INT0, // 2
|
322 |
gAvrInt_PCINT0, // 3
|
323 |
gAvrInt_PCINT1, // 4
|
324 |
gAvrInt_TIMER2_COMP, // 5
|
325 |
gAvrInt_TIMER2_OVF, // 6
|
326 |
gAvrInt_TIMER1_CAPT, // 7
|
327 |
gAvrInt_TIMER1_COMPA, // 8
|
328 |
gAvrInt_TIMER1_COMPB, // 9
|
329 |
gAvrInt_TIMER1_OVF, // 10
|
330 |
gAvrInt_TIMER0_COMP, // 11
|
331 |
gAvrInt_TIMER0_OVF, // 12
|
332 |
gAvrInt_SPI_STC, // 13
|
333 |
gAvrInt_USART0_RX, // 14
|
334 |
gAvrInt_USART0_UDRE, // 15
|
335 |
gAvrInt_USART0_TX, // 16
|
336 |
gAvrInt_USI_START, // 17
|
337 |
gAvrInt_USI_OVERFLOW, // 18
|
338 |
gAvrInt_ANALOG_COMP, // 19
|
339 |
gAvrInt_ADC, // 20
|
340 |
gAvrInt_EE_READY, // 21
|
341 |
gAvrInt_SPM_READY, // 22
|
342 |
gAvrInt_LCD_StartFrame, // 23
|
343 |
|
344 |
}; |
345 |
|
346 |
#endif
|
347 |
|
348 |
|
349 |
//**************************************************************************************************
|
350 |
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega1281__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)
|
351 |
#pragma mark __AVR_ATmega640__ __AVR_ATmega1280__ __AVR_ATmega1281__ __AVR_ATmega2560__ __AVR_ATmega2561__
|
352 |
|
353 |
#define _INTERRUPT_NAMES_DEFINED_
|
354 |
|
355 |
PGM_P gInterruptNameTable[] PROGMEM = |
356 |
{ |
357 |
|
358 |
gAvrInt_RESET, // 1
|
359 |
gAvrInt_INT0, // 2
|
360 |
gAvrInt_INT1, // 3
|
361 |
gAvrInt_INT2, // 4
|
362 |
gAvrInt_INT3, // 5
|
363 |
gAvrInt_INT4, // 6
|
364 |
gAvrInt_INT5, // 7
|
365 |
gAvrInt_INT6, // 8
|
366 |
gAvrInt_INT7, // 9
|
367 |
gAvrInt_PCINT0, // 10
|
368 |
gAvrInt_PCINT1, // 11
|
369 |
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
370 |
gAvrInt_PCINT2, // 12
|
371 |
#else
|
372 |
gAvrInt_NOT_USED, // 12
|
373 |
#endif
|
374 |
gAvrInt_WDT, // 13
|
375 |
gAvrInt_TIMER2_COMPA, // 14
|
376 |
gAvrInt_TIMER2_COMPB, // 15
|
377 |
gAvrInt_TIMER2_OVF, // 16
|
378 |
gAvrInt_TIMER1_CAPT, // 17
|
379 |
gAvrInt_TIMER1_COMPA, // 18
|
380 |
gAvrInt_TIMER1_COMPB, // 19
|
381 |
gAvrInt_TIMER1_COMPC, // 20
|
382 |
gAvrInt_TIMER1_OVF, // 21
|
383 |
gAvrInt_TIMER0_COMPA, // 22
|
384 |
gAvrInt_TIMER0_COMPB, // 23
|
385 |
gAvrInt_TIMER0_OVF, // 24
|
386 |
gAvrInt_SPI_STC, // 25
|
387 |
|
388 |
gAvrInt_USART0_RX, // 26
|
389 |
gAvrInt_USART0_UDRE, // 27
|
390 |
gAvrInt_USART0_TX, // 28
|
391 |
gAvrInt_ANALOG_COMP, // 29
|
392 |
gAvrInt_ADC, // 30
|
393 |
gAvrInt_EE_READY, // 31
|
394 |
|
395 |
gAvrInt_TIMER3_CAPT, // 32
|
396 |
gAvrInt_TIMER3_COMPA, // 33
|
397 |
gAvrInt_TIMER3_COMPB, // 34
|
398 |
gAvrInt_TIMER3_COMPC, // 35
|
399 |
gAvrInt_TIMER3_OVF, // 36
|
400 |
|
401 |
gAvrInt_USART1_RX, // 37
|
402 |
gAvrInt_USART1_UDRE, // 38
|
403 |
gAvrInt_USART1_TX, // 39
|
404 |
gAvrInt_TWI, // 40
|
405 |
gAvrInt_SPM_READY, // 41
|
406 |
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
407 |
gAvrInt_TIMER4_CAPT, // 42
|
408 |
#else
|
409 |
gAvrInt_NOT_USED, // 42
|
410 |
#endif
|
411 |
gAvrInt_TIMER4_COMPA, // 43
|
412 |
gAvrInt_TIMER4_COMPB, // 44
|
413 |
gAvrInt_TIMER4_COMPC, // 45
|
414 |
gAvrInt_TIMER4_OVF, // 46
|
415 |
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
416 |
gAvrInt_TIMER5_CAPT, // 47
|
417 |
#else
|
418 |
gAvrInt_NOT_USED, // 47
|
419 |
#endif
|
420 |
gAvrInt_TIMER5_COMPA, // 48
|
421 |
gAvrInt_TIMER5_COMPB, // 49
|
422 |
gAvrInt_TIMER5_COMPC, // 50
|
423 |
gAvrInt_TIMER5_OVF, // 51
|
424 |
|
425 |
#if defined(__AVR_ATmega640__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
426 |
gAvrInt_USART2_RX, // 52
|
427 |
gAvrInt_USART2_UDRE, // 53
|
428 |
gAvrInt_USART2_TX, // 54
|
429 |
|
430 |
gAvrInt_USART3_RX, // 55
|
431 |
gAvrInt_USART3_UDRE, // 56
|
432 |
gAvrInt_USART3_TX, // 57
|
433 |
#endif
|
434 |
|
435 |
}; |
436 |
|
437 |
#endif
|
438 |
|
439 |
|
440 |
|
441 |
//**************************************************************************************************
|
442 |
#if defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega644__ ) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)
|
443 |
#pragma mark __AVR_ATmega324P__ __AVR_ATmega644__ __AVR_ATmega644P__ __AVR_ATmega1284P__
|
444 |
|
445 |
#define _INTERRUPT_NAMES_DEFINED_
|
446 |
|
447 |
PGM_P gInterruptNameTable[] PROGMEM = |
448 |
{ |
449 |
|
450 |
gAvrInt_RESET, // 1
|
451 |
gAvrInt_INT0, // 2
|
452 |
gAvrInt_INT1, // 3
|
453 |
gAvrInt_INT2, // 4
|
454 |
gAvrInt_PCINT0, // 5
|
455 |
gAvrInt_PCINT1, // 6
|
456 |
gAvrInt_PCINT2, // 7
|
457 |
gAvrInt_PCINT3, // 8
|
458 |
gAvrInt_WDT, // 9
|
459 |
gAvrInt_TIMER2_COMPA, // 10
|
460 |
gAvrInt_TIMER2_COMPB, // 11
|
461 |
gAvrInt_TIMER2_OVF, // 12
|
462 |
gAvrInt_TIMER1_CAPT, // 13
|
463 |
gAvrInt_TIMER1_COMPA, // 14
|
464 |
gAvrInt_TIMER1_COMPB, // 15
|
465 |
gAvrInt_TIMER1_OVF, // 16
|
466 |
gAvrInt_TIMER0_COMPA, // 17
|
467 |
gAvrInt_TIMER0_COMPB, // 18
|
468 |
gAvrInt_TIMER0_OVF, // 19
|
469 |
gAvrInt_SPI_STC, // 20
|
470 |
gAvrInt_USART0_RX, // 21
|
471 |
gAvrInt_USART0_UDRE, // 22
|
472 |
gAvrInt_USART0_TX, // 23
|
473 |
gAvrInt_ANALOG_COMP, // 24
|
474 |
gAvrInt_ADC, // 25
|
475 |
gAvrInt_EE_READY, // 26
|
476 |
gAvrInt_TWI, // 27
|
477 |
gAvrInt_SPM_READY, // 28
|
478 |
|
479 |
#if defined(__AVR_ATmega324P__ ) || defined(__AVR_ATmega644P__)
|
480 |
gAvrInt_USART1_RX, // 29
|
481 |
gAvrInt_USART1_UDRE, // 30
|
482 |
gAvrInt_USART1_TX, // 31
|
483 |
#endif
|
484 |
|
485 |
}; |
486 |
|
487 |
|
488 |
#endif
|
489 |
|
490 |
//**************************************************************************************************
|
491 |
#if defined(__AVR_ATmega645__ )
|
492 |
#pragma mark __AVR_ATmega645__
|
493 |
|
494 |
#define _INTERRUPT_NAMES_DEFINED_
|
495 |
|
496 |
PGM_P gInterruptNameTable[] PROGMEM = |
497 |
{ |
498 |
|
499 |
gAvrInt_RESET, // 1
|
500 |
gAvrInt_INT0, // 2
|
501 |
gAvrInt_PCINT0, // 3
|
502 |
gAvrInt_PCINT1, // 4
|
503 |
gAvrInt_TIMER2_COMP, // 5
|
504 |
gAvrInt_TIMER2_OVF, // 6
|
505 |
gAvrInt_TIMER1_CAPT, // 7
|
506 |
gAvrInt_TIMER1_COMPA, // 8
|
507 |
gAvrInt_TIMER1_COMPB, // 9
|
508 |
gAvrInt_TIMER1_OVF, // 10
|
509 |
gAvrInt_TIMER0_COMP, // 11
|
510 |
gAvrInt_TIMER0_OVF, // 12
|
511 |
gAvrInt_SPI_STC, // 13
|
512 |
gAvrInt_USART0_RX, // 14
|
513 |
gAvrInt_USART0_UDRE, // 15
|
514 |
gAvrInt_USART0_TX, // 16
|
515 |
gAvrInt_USI_START, // 17
|
516 |
gAvrInt_USI_OVERFLOW, // 18
|
517 |
gAvrInt_ANALOG_COMP, // 19
|
518 |
gAvrInt_ADC, // 20
|
519 |
gAvrInt_EE_READY, // 21
|
520 |
gAvrInt_SPM_READY, // 22
|
521 |
gAvrInt_NOT_USED, // 23
|
522 |
|
523 |
#if defined(__AVR_ATmega3250__) || defined(__AVR_ATmega6450__)
|
524 |
gAvrInt_PCINT2, // 24
|
525 |
gAvrInt_PCINT3, // 25
|
526 |
#endif
|
527 |
}; |
528 |
|
529 |
|
530 |
#endif
|
531 |
|
532 |
|
533 |
//**************************************************************************************************
|
534 |
#if defined(__AVR_ATmega32__ )
|
535 |
#pragma mark __AVR_ATmega32__
|
536 |
|
537 |
#define _INTERRUPT_NAMES_DEFINED_
|
538 |
|
539 |
PGM_P gInterruptNameTable[] PROGMEM = |
540 |
{ |
541 |
|
542 |
gAvrInt_RESET, // 1
|
543 |
gAvrInt_INT0, // 2
|
544 |
gAvrInt_INT1, // 3
|
545 |
gAvrInt_INT2, // 4
|
546 |
gAvrInt_TIMER2_COMP, // 5
|
547 |
gAvrInt_TIMER2_OVF, // 6
|
548 |
gAvrInt_TIMER1_CAPT, // 7
|
549 |
gAvrInt_TIMER1_COMPA, // 8
|
550 |
gAvrInt_TIMER1_COMPB, // 9
|
551 |
gAvrInt_TIMER1_OVF, // 10
|
552 |
gAvrInt_TIMER0_COMP, // 11
|
553 |
gAvrInt_TIMER0_OVF, // 12
|
554 |
gAvrInt_SPI_STC, // 13
|
555 |
gAvrInt_USART_RX, // 14
|
556 |
gAvrInt_USART_UDRE, // 15
|
557 |
gAvrInt_USART_TX, // 16
|
558 |
gAvrInt_ADC, // 17
|
559 |
gAvrInt_EE_READY, // 18
|
560 |
gAvrInt_ANALOG_COMP, // 19
|
561 |
gAvrInt_TWI, // 20
|
562 |
gAvrInt_SPM_READY, // 21
|
563 |
|
564 |
}; |
565 |
|
566 |
|
567 |
#endif
|
568 |
|
569 |
//**************************************************************************************************
|
570 |
#if defined(__AVR_ATmega32U4__)
|
571 |
#pragma mark __AVR_ATmega32U4__
|
572 |
//* teensy 2.0
|
573 |
//* http://www.pjrc.com/teensy/pinout.html
|
574 |
#define _INTERRUPT_NAMES_DEFINED_
|
575 |
|
576 |
|
577 |
PGM_P gInterruptNameTable[] PROGMEM = |
578 |
{ |
579 |
|
580 |
gAvrInt_RESET, // 1
|
581 |
gAvrInt_INT0, // 2
|
582 |
gAvrInt_INT1, // 3
|
583 |
gAvrInt_INT2, // 4
|
584 |
gAvrInt_INT3, // 5
|
585 |
gAvrInt_RESERVED, // 6
|
586 |
gAvrInt_RESERVED, // 7
|
587 |
gAvrInt_INT6, // 8
|
588 |
gAvrInt_RESERVED, // 9
|
589 |
gAvrInt_PCINT0, // 10
|
590 |
gAvrInt_USB_General, // 11
|
591 |
gAvrInt_USB_Endpoint, // 12
|
592 |
gAvrInt_WDT, // 13
|
593 |
gAvrInt_RESERVED, // 14
|
594 |
gAvrInt_RESERVED, // 15
|
595 |
gAvrInt_RESERVED, // 16
|
596 |
gAvrInt_TIMER1_CAPT, // 17
|
597 |
gAvrInt_TIMER1_COMPA, // 18
|
598 |
gAvrInt_TIMER1_COMPB, // 19
|
599 |
gAvrInt_TIMER1_COMPC, // 20
|
600 |
gAvrInt_TIMER1_OVF, // 21
|
601 |
gAvrInt_TIMER0_COMPA, // 22
|
602 |
gAvrInt_TIMER0_COMPB, // 23
|
603 |
gAvrInt_TIMER0_OVF, // 24
|
604 |
gAvrInt_SPI_STC, // 25
|
605 |
|
606 |
gAvrInt_USART1_RX, // 26
|
607 |
gAvrInt_USART1_UDRE, // 27
|
608 |
gAvrInt_USART1_TX, // 28
|
609 |
gAvrInt_ANALOG_COMP, // 29
|
610 |
|
611 |
gAvrInt_ADC, // 30
|
612 |
gAvrInt_EE_READY, // 31
|
613 |
|
614 |
gAvrInt_TIMER3_CAPT, // 32
|
615 |
gAvrInt_TIMER3_COMPA, // 33
|
616 |
gAvrInt_TIMER3_COMPB, // 34
|
617 |
gAvrInt_TIMER3_COMPC, // 35
|
618 |
gAvrInt_TIMER3_OVF, // 36
|
619 |
gAvrInt_TWI, // 37
|
620 |
gAvrInt_SPM_READY, // 38
|
621 |
|
622 |
gAvrInt_TIMER4_COMPA, // 39
|
623 |
gAvrInt_TIMER4_COMPB, // 40
|
624 |
gAvrInt_TIMER4_COMPD, // 41
|
625 |
gAvrInt_TIMER4_OVF, // 42
|
626 |
gAvrInt_TIMER4_FPF, // 43
|
627 |
}; |
628 |
|
629 |
#endif
|
630 |
|
631 |
//**************************************************************************************************
|
632 |
#if defined(__AVR_AT90USB1286__)
|
633 |
#pragma mark __AVR_AT90USB1286__
|
634 |
//* teensy++ 2.0
|
635 |
//* http://www.pjrc.com/teensy/pinout.html
|
636 |
#define _INTERRUPT_NAMES_DEFINED_
|
637 |
|
638 |
|
639 |
PGM_P gInterruptNameTable[] PROGMEM = |
640 |
{ |
641 |
|
642 |
gAvrInt_RESET, // 1
|
643 |
gAvrInt_INT0, // 2
|
644 |
gAvrInt_INT1, // 3
|
645 |
gAvrInt_INT2, // 4
|
646 |
gAvrInt_INT3, // 5
|
647 |
gAvrInt_INT4, // 6
|
648 |
gAvrInt_INT5, // 7
|
649 |
gAvrInt_INT6, // 8
|
650 |
gAvrInt_INT7, // 9
|
651 |
gAvrInt_PCINT0, // 10
|
652 |
gAvrInt_USB_General, // 11
|
653 |
gAvrInt_USB_Endpoint, // 12
|
654 |
gAvrInt_WDT, // 13
|
655 |
gAvrInt_TIMER2_COMPA, // 14
|
656 |
gAvrInt_TIMER2_COMPB, // 15
|
657 |
gAvrInt_TIMER2_OVF, // 16
|
658 |
gAvrInt_TIMER1_CAPT, // 17
|
659 |
gAvrInt_TIMER1_COMPA, // 18
|
660 |
gAvrInt_TIMER1_COMPB, // 19
|
661 |
gAvrInt_TIMER1_COMPC, // 20
|
662 |
gAvrInt_TIMER1_OVF, // 21
|
663 |
gAvrInt_TIMER0_COMPA, // 22
|
664 |
gAvrInt_TIMER0_COMPB, // 23
|
665 |
gAvrInt_TIMER0_OVF, // 24
|
666 |
gAvrInt_SPI_STC, // 25
|
667 |
|
668 |
gAvrInt_USART1_RX, // 26
|
669 |
gAvrInt_USART1_UDRE, // 27
|
670 |
gAvrInt_USART1_TX, // 28
|
671 |
gAvrInt_ANALOG_COMP, // 29
|
672 |
|
673 |
gAvrInt_ADC, // 30
|
674 |
gAvrInt_EE_READY, // 31
|
675 |
|
676 |
gAvrInt_TIMER3_CAPT, // 32
|
677 |
gAvrInt_TIMER3_COMPA, // 33
|
678 |
gAvrInt_TIMER3_COMPB, // 34
|
679 |
gAvrInt_TIMER3_COMPC, // 35
|
680 |
gAvrInt_TIMER3_OVF, // 36
|
681 |
gAvrInt_TWI, // 37
|
682 |
gAvrInt_SPM_READY, // 38
|
683 |
|
684 |
}; |
685 |
|
686 |
#endif
|
687 |
|
688 |
|
689 |
|
690 |
|
691 |
//**************************************************************************************************
|
692 |
#if defined(__AVR_ATmega128__)
|
693 |
#pragma mark __AVR_ATmega128__
|
694 |
#define _INTERRUPT_NAMES_DEFINED_
|
695 |
|
696 |
|
697 |
PGM_P gInterruptNameTable[] PROGMEM = |
698 |
{ |
699 |
|
700 |
gAvrInt_RESET, // 1
|
701 |
gAvrInt_INT0, // 2
|
702 |
gAvrInt_INT1, // 3
|
703 |
gAvrInt_INT2, // 4
|
704 |
gAvrInt_INT3, // 5
|
705 |
gAvrInt_INT4, // 6
|
706 |
gAvrInt_INT5, // 7
|
707 |
gAvrInt_INT6, // 8
|
708 |
gAvrInt_INT7, // 9
|
709 |
gAvrInt_TIMER2_COMP, // 10
|
710 |
gAvrInt_TIMER2_OVF, // 11
|
711 |
gAvrInt_TIMER1_CAPT, // 12
|
712 |
gAvrInt_TIMER1_COMPA, // 13
|
713 |
gAvrInt_TIMER1_COMPB, // 14
|
714 |
gAvrInt_TIMER1_OVF, // 15
|
715 |
gAvrInt_TIMER0_COMP, // 16
|
716 |
gAvrInt_TIMER0_OVF, // 17
|
717 |
gAvrInt_SPI_STC, // 18
|
718 |
gAvrInt_USART0_RX, // 19
|
719 |
gAvrInt_USART0_UDRE, // 20
|
720 |
gAvrInt_USART0_TX, // 21
|
721 |
gAvrInt_ADC, // 22
|
722 |
gAvrInt_EE_READY, // 23
|
723 |
gAvrInt_ANALOG_COMP, // 24
|
724 |
gAvrInt_TIMER1_COMPC, // 25
|
725 |
gAvrInt_TIMER3_CAPT, // 26
|
726 |
gAvrInt_TIMER3_COMPA, // 27
|
727 |
gAvrInt_TIMER3_COMPB, // 28
|
728 |
gAvrInt_TIMER3_COMPC, // 29
|
729 |
gAvrInt_TIMER3_OVF, // 30
|
730 |
gAvrInt_USART1_RX, // 31
|
731 |
gAvrInt_USART1_UDRE, // 32
|
732 |
gAvrInt_USART1_TX, // 33
|
733 |
gAvrInt_TWI, // 34
|
734 |
gAvrInt_SPM_READY, // 35
|
735 |
|
736 |
}; |
737 |
|
738 |
#endif
|
739 |
|
740 |
#if !defined(_INTERRUPT_NAMES_DEFINED_)
|
741 |
#warning No interrupt string defs for this cpu |
742 |
#endif
|