A hardver 2 interruptot tud normálisan kezelni, az INT0-t és az INT1-et. Ezen tudsz felfutó / lefutó élérzékeny interruptot kezelni. A többi lábon csak a változást tudod észlelni, a felfutó / lefutó élet nem.
Külön megszakítást készíteni hardveresen mindenegyik gombra nem fogsz tudni, mert 3 megszakítás van: a PINB / PINC / PIND-re. A fent említett library a fel/lefutó éleket szoftverből kezeli. Gombnyomáshoz elég. Itt tudsz mind a 20 pinhez különböző megszakításkezelőt kapcsolni, de ez szoftverből hívódik meg, nem hardverből.
Kód: Egész kijelölése
#include <PinChangeInt.h>
#include <PinChangeIntConfig.h>
setup()
{
...
PCintPort::attachInterrupt(PIN, pin1change,RISING);
...
}
void pin1change()
{
// csinalj valamit
}