X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/3808f5c36d0ee183e9825e645cc984f1c6047ef5..a032d77d0e8009a3ef7e1666f144cde6f08f800e:/LUFA/Platform/UC3/InterruptManagement.h diff --git a/LUFA/Platform/UC3/InterruptManagement.h b/LUFA/Platform/UC3/InterruptManagement.h index 7441a3011..e9efbf311 100644 --- a/LUFA/Platform/UC3/InterruptManagement.h +++ b/LUFA/Platform/UC3/InterruptManagement.h @@ -71,7 +71,7 @@ #define _UC3_INTERRUPT_MANAGEMENT_H_ /* Includes: */ - #include + #include "../../Common/Common.h" /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) @@ -110,10 +110,19 @@ #define INTC_IRQ_LINE(IRQIndex) (IRQIndex % 32) /* Function Prototypes: */ - /** Initializes the interrupt controller, nulling out all interrupt handlers ready for new registration. This - * function should be called once on startup to ensure the interrupt controller is ready for use. + /** Initializes the interrupt controller ready to handle interrupts. This must be called at the + * start of the user program before any interrupts are registered or enabled. */ - void INTC_Init(void); + void INTC_Init(void); + + /** Retrieves the associated interrupt handler for the interrupt group currently being fired. This + * is called directly from the exception handler routine before dispatching to the ISR. + * + * \param[in] InterruptLevel Priority level of the interrupt. + * + * \return Pointer to the associated interrupt handler function, or NULL if no handler set. + */ + InterruptHandlerPtr_t INTC_GetInterruptHandler(const uint_reg_t InterruptLevel); /* Inline Functions: */ /** Registers a handler for a given interrupt group. On the AVR32 UC3 devices, interrupts are grouped by