KIR Interrupts.ino: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 8: | Line 8: | ||
* PCINT ISRs - We need to use 2 PCINT ISR vectors to handle interrupts from the 7 COL pins. Here we record the COL number(1-7), Clear the PCINT flags and disable further PCINT interrupts for now. | * PCINT ISRs - We need to use 2 PCINT ISR vectors to handle interrupts from the 7 COL pins. Here we record the COL number(1-7), Clear the PCINT flags and disable further PCINT interrupts for now. | ||
* WDT_ISR - not used, but as a precaution we simply disable WDT interrupts if ever called. | * WDT_ISR - not used, but as a precaution we simply disable WDT interrupts if ever called. | ||
''Note: Only the PCINT1 & PCINT3 Interrupts are required to cover the 7 Col pins. PCINT0 & PCINT2 are not used.'' | |||
Revision as of 10:49, 10 December 2019
> KontroLIR Home > back
This file contains a number of functions for handling interrupts and related items.
- KIR_initPCINT - this function initialises the MCU to handle the required PCINTs on the COL pins only. Col pins are set to INPUT_PULLUP and when a button is pressed the COL pin is pulled low, by the respective ROW pin. The resulting interrupt wakes the MCU up from sleep.
- KIR_enablePCint - this function clears any PCINT flags and enables interrupts for the COL pins.
- KIR_disablePCint - this function clears any PCINT flags and disables interrupts for the COL pins. However, we do not use/call this function and simply disable PCINT every time directly within the PCINT ISRs.
- PCINT ISRs - We need to use 2 PCINT ISR vectors to handle interrupts from the 7 COL pins. Here we record the COL number(1-7), Clear the PCINT flags and disable further PCINT interrupts for now.
- WDT_ISR - not used, but as a precaution we simply disable WDT interrupts if ever called.
Note: Only the PCINT1 & PCINT3 Interrupts are required to cover the 7 Col pins. PCINT0 & PCINT2 are not used.
> KontroLIR Home > back