External avbryter på MPIDE del 2: setIntVector() (8 / 10 steg)
Steg 8: Avbryta rutin
När vi använder setIntVector(), måste vi skriva våra ISRs lite annorlunda från det som vi skrev för attachInterrupt().
För det första, ISR måste definieras innan du kan använda den. Det innebär att sätta den på framsidan innan resten av koden.
Den verkliga förklaringen är olika. Denna gång, måste vi ange att funktionen vi deklarerar är ett avbrott, medan innan vi bara kunde förklara alla gamla funktion.
Slutligen, vi absolut måste komma ihåg att använda clearIntFlat() i slutet av denna ISR. Normalt, hand attachInterrupt() tar om clearing flaggan efter ISR har körts, men vi gör allt själva med denna kod så vi måste avmarkera flaggan oss själva också.
Om du inte avslutar ditt ISR med clearIntFlag() (eller åtminstone inte använder det någonstans i koden) så är flaggan för att avbryta kommer alltid att utlösas och avbrottet kommer bara återaktivera efter är det klart, att få din kod som fastnat i en oändlig loop.