Arduino überspringt if-Anweisung?
Moin, ich habe eine Programm in Arduino geschrieben wo die Zeit angezeigt werden soll, sowie Temperatur und Luftfeuchte. Leider wird immer die if Anweisung für das rücksetzen der Zeit übersprungen und quasi die Bedienung immer zurückgesetzt egal was in der if Anweisung steht. Bedeutet wenn in der if Anweisung steht " if ( sec == 60) und danach sec resetet werden soll, geschieht der reset immer. Was habe ich falsch gemacht?
1 Antwort
Du deklarierst und setzt sek in der Routine, die immer wieder aufgerufen wird und durch die Summierung beziehst Du dich damit auf eine nicht initialisierte Variable! Daher wird sek jedes Mal wieder neu initialisiert - und offensichtlich auf einen Wert < 60.
Der Code ergibt ohnehin nicht wirklich Sinn. Sinnvoll wäre, sek in setup mit millis() / 1000 zu initialisieren und dann im Loop zu schauen, ob millis / 1000 - sek > 60 ist. Im "Ja"-Fall nicht vergessen, sek wieder neu zu setzen.