Dan waarom zou je ooit willen tikken:Code: [Selecteer]ledPin = 4;//?
ledPin = 4;//?
Maar ff for real. Ik weet dat je als C++'er een soort van 'opgevoed' wordt om macro's te haten. Maar als je een beetje luchtig naar kijk, vind je niet dat de state functies nu een mooie duidelijke syntax hebben? Duidelijke blokjes voor de sub-states.
De switch-case is een van de meest handige
Je moet bedenken dat bij elke if conditie zo'n 'goto' in je programma er bij komt in de assembly.
Over millis. De rede staat in de bijlage. Je moet eerst 4 bytes ophalen en dan 1 voor 1 aftrekken van 4 andere bytes voordat je dat resultaat met nog meer bytes vergelijkt. + Je hebt 4 bytes aan geheugen nodig per getimede actie.
Ik kijk slechts of 1 enkele byte al 0 is of niet. Het is simpelweg vele malen sneller dan millis().
En over dat biertje... Een corona lekker met limoentje
@Meino, harmful is misschien wel een erg krachtig woord maar vind wel dat goto's in een hogere taal geen plaats meer hebben. Maar vind break en continue dan nog wel kunnen. Daar bepaald de taal/syntax namelijk zelf waar de jump heen gaat dus volgt het de normale code-flow.
Goed, nu neemt iedereen even een slok van zijn (/haar) koffie/biertje!
if(someTimer.fire()) { // actie }