Stap 6: Hoe het werkt
De sleutel tot dit is zeer eenvoudig. Binnen onze Interrupt Service Routine (ISR) hebben we een beetje als verklaring dat hoe lang het is geweest controleert aangezien de interrupt voor het laatst uitvoert. Als het is al lang genoeg, laat het de interrupt opnieuw uit te voeren! Dit geeft ons signaal genoeg tijd te regelen, voordat we de ISR opnieuw uitvoeren.
Deze code is eenvoudig en het werkt goed, maar als u merken zult, de controle gebeurt binnen de ISR. Echt is wat er gebeurt we onderbreken onze hoofdlus code meerdere malen, om te controleren en te zien als het lang genoeg is geweest en de rest van onze ISR uitgevoerd wanneer het heeft. Dat is waarom dit is de "brute force" methode.
Dit is niet altijd de beste oplossing, maar onze check gebeurt zo snel dat er onmerkbaar. Toch zal mijn volgende tutorial verkennen een alternatieve aan deze brute force methode, die wordt uitgeschakeld en weer ingeschakeld de interrupt, in plaats van simpelweg controle over en voorbij.
Zie je volgende keer!