int HAL_KbdScanInterrupt(int devno)
| Entry | |
|---|---|
| devno | Device number which is generating the interrupt |
| Exit | |
|---|---|
| - | Return -1 if the interrupt was handled, else return devno |
This is an internal call for OS use only and should not be used by user software.
Attached to the processor IRQ hardware vector – called whenever an IRQ occurs between the calls to HAL_KbdScanSetup and HAL_KbdScanFinish. Uses standard HAL calling conventions; will be in SVC mode with IRQs disabled. Interrupts can be re-enabled if desired, but should be disabled again on return to the caller.
If the keyboard scan handler recognises the cause of the interrupt then it must service the device (including calling HAL_IRQClear if necessary) and return -1. If the device is unrecognised then devno must be returned unaltered so that the OS can pass the request onto any other interrupt handlers.