Stap 2: De software
De software is ook een beetje veranderd. De functie om te lezen uit de hex-schakelaar werd weggelaten, werden in plaats daarvan twee kleine als-instructies toegevoegd in de timer overflow interrupt routine. En dit is hoe het werkt:
Na het opstarten van de variabele "flashesneeded" gelijk is aan nul, dat betekent unset. Zolang dit geldt die de trigger wacht om te leren hoeveel flitsen zal er. De trigger detecteert elke flitser en tellen. Na het bakken van uw real knipperen zodra u moet wachten tot de timer overloop (~ 1s). De als-functie herkent dan dat er flitsen gedetecteerd terwijl de flashesneeded-variabele nog steeds nul is. In dit geval het aantal flitsen gedetecteerd wordt weggeschreven naar de flashesneeded en de wijze van leren wordt gedaan. Nu de variabele verschilt van nul en niet meer leren plaatsvindt. Om te leren dat een ander aantal preflashes alleen raken de reset-knop om te starten van de microcontroller.
Het is zo gemakkelijk en eenvoudig!
En het bespaart u een hoop geld!