PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino time.h - Ausführen einer Funktion zu einer bestimmten Zeit



Cysign
29.03.2017, 16:40
Hallo zusammen,

ich kämpfe grade mal wieder ein bisschen mit der Zeit-Library des Arduinos rum.

Folgendes Szenario: Ich hab ein RTC, mit dem ich meine Zeit per setTime(RTC.get)) einstelle.
Jetzt kann ich per hour() und minute() die aktuelle Uhrzeit abfragen - und auch auf meinem Display anzeigen oder seriell übertragen.


Wenn ich nun allerdings eine Abfrage mache, um zu einer gewissen Zeit eine Aktion auszuführen, so klappt das nicht.


if (minute() == 33) { /* mach was */}

Ich denke, dass ich hier ein Datentypen-Problem habe. Denn der Vergleich wird im Abstand weniger Sekunden immer wieder ausgeführt (was soweit auch funktioniert).
Manchmal, auch wenn die Minuten nicht meiner vorgegebenen Zeit von 33 entsprechen, wird die Bedingung erfüllt.

Cysign
29.03.2017, 19:28
Argh...es lag am Stromsparmodus des Arduino.
Beim Aufwachen musste ich die Zeit neu mit dem RTC synchronisieren, damit die Zeit stimmt. Dann klappt das auch mit dem Funktionsaufruf nach Zeit ;)