When I look at examples of interrupt code, I keep seeing what appear to be defined/reserved labels for the compiler to recognize ISR (interrupt service routine) vectors, eg,
ISR(TIMER1_COMPA_vect)
Is there a page where all these vectors are defined/listed?
Is there a way in the Arduino IDE or C++ that allows the programmer to explicitly establish the interrupt vector and write the ISR at a low level, including the interrupt return instruction (without resorting to assembler)?
I'm not sure where those kind of defines are listed. Those come from Atmel, not Arduino (along with defines for the names of registers)
Interrupt vectors are defined as SOURCE_vect, where SOURCE is the entry in the source column of the table at the start of the Interrupts section of the datasheet for the MCU in question (ie, vector number 1 is at address 0 and source is listed as RESET, so the vector is called RESET_vect)
Dr_Quark:
Is there a way in the Arduino IDE or C++ that allows the programmer to explicitly establish the interrupt vector and write the ISR at a low level, including the interrupt return instruction (without resorting to assembler)?