External avbryter på MPIDE del 1: attachInterrupt() (9 / 11 steg)
Steg 9: Ogiltigt loop()
Denna del verkade uppenbart, men jag tänkte att det är värt som täcker ändå, bara för att se att allt är helt klart.
Det första som du kanske märker om vår slinga kod är att allt det gör är satt vår LED stift till vad LEDstate är. Det kontrollerar aldrig några indata eller även förändringar LEDstate. Om du inte visste att det fanns en ISR som skulle ändra LEDstate när avbrottet utlöstes, kanske du tror att detta var värdelös kod! Detta är i själva verket mycket anledningen till avbrott är användbart!
Anser att denna kod kan vara något! Du behöver inte längre oroa dig kontrollera din ingående staterna, eftersom din ISR kommer att hantera det för dig! Nu är du fri att köra din kod, återspeglar att veta att vid varje tidpunkt LEDstate alltid din indata korrekt.
Men avbrott kan också komplicera saker också! Eftersom avbrott kan uppstå när som helst och utan förvarning, det innebär att LEDstate kan ändra när som helst! Om du har kod som tar flera steg för att köra, måste du komma ihåg att LEDstate kunde ändra mellan någon given steg, och står för som.