Installs a handler function for an IRQ line
bool XEOS_IRQ_AddIRQHandler(
XEOS_HAL_PIC_IRQ irq,
XEOS_IRQ_IRQHandler handler );
Note that the number of handlers for an IRQ line is limited. If the maximum number of handlers is reached, the handler won't be installed and the function will return false.
True if the handler was installed, otherwise false
Executes all installed handlers for an IRQ line
void XEOS_IRQ_ExecuteIRQHandlers(
XEOS_HAL_PIC_IRQ irq,
XEOS_HAL_CPU_Registers *registers );
IRQ handler for the keyboard (IRQ1)
void XEOS_IRQ_Keyboard(
XEOS_HAL_PIC_IRQ irq,
XEOS_HAL_CPU_Registers *registers );
IRQ handler for the real time clock (IRQ8)
void XEOS_IRQ_RealTimeClock(
XEOS_HAL_PIC_IRQ irq,
XEOS_HAL_CPU_Registers *registers );
Removes a handler function for an IRQ line
void XEOS_IRQ_RemoveIRQHandler(
XEOS_HAL_PIC_IRQ irq,
XEOS_IRQ_IRQHandler handler );
IRQ handler for the system timer (IRQ0)
void XEOS_IRQ_SystemTimer(
XEOS_HAL_PIC_IRQ irq,
XEOS_HAL_CPU_Registers *registers );
Handler function for an IRQ
typedef void ( *XEOS_IRQ_IRQHandler )(
XEOS_HAL_PIC_IRQ irq,
XEOS_HAL_CPU_Registers *registers );