Stap 8: Interrupt Service Routine
Wanneer we setIntVector() gebruiken, moeten we schrijven onze ISRs een beetje verschillend van degene die we voor attachInterrupt() schreven.
In de eerste plaats moet de ISR worden gedefinieerd voordat u deze kunt gebruiken. Dat betekent dat het vooraan voordat de rest van uw code.
De werkelijke verklaring is dan anders. Dit keer, hebben we om aan te geven dat de functie die wij verklaren een interrupt is, overwegende dat voordat we gewoon een oude functie kon verklaren.
Tot slot, we moeten absoluut Vergeet niet om clearIntFlat() aan het einde van deze ISR. Normaal, zorgt attachInterrupt() voor het wissen van de vlag na de ISR heeft uitgevoerd, maar we alles zelf met deze code doen dus we moeten onszelf ook duidelijk voor de vlag.
Als u niet uw ISR met clearIntFlag() einde (of tenminste, gebruik het niet ergens in uw code) dan de vlag voor dat interrupt zal altijd worden geactiveerd en de interrupt zal gewoon opnieuw activeren na het klaar, krijgen uw code vast in een oneindige lus.