Re: Aktion einmalig jeden Tag Kategorie: Programmierung (von nitraM - 27.10.2009 9:12) | ||
Als Antwort auf Aktion einmalig jeden Tag von ChristianS - 26.10.2009 16:21 | ||
| ||
> Hallo, > ich versuche einmal täglich den Sonnenstand zu berechnen. Das soll jede Nacht > um 03:30 Uhr passieren. Jetzt habe ich das in eine Serialzeit umgerechnet: (12600) und vergleiche > in einer Schleife die tatsächliche Zeit mit 12600. > > > loop > { > if time_to_serial(system.hour(),system.minute(), system.second())==12600 > { > geo.SaSu(system.year(),system.month(),system.day(), > myconst.breitengrad,myconst.laengengrad,0,time); > hwcom.print("Sonnenaufgang berechnet:"); > hwcom.ret(); > } //überprüfe 03:30 Uhr zwecks Berechnung des Sonneauf-/untergangs > } > > dann berechnet er den Sonnenstand mehr als 15x.Gibt es eine elegantere Lösung? Hat > jemand eine Idee? > > Gru�, > ChristianS Hallo Christian, ich würde das in etwa so angehen: ... byte Tag; Tag = 0; ... loop {if system.day() != Tag and system.hour() >= 3 and system.minute() >= 30 {Tag = system.day(); // speichert aktuellen Tag .... // berechet deine Zeiten } .... } Bei einem Neustart der Unit musst du allerdings die Berechnung im Programm "manuell" starten... Gru� nitraM | ||
Antwort schreiben Antworten: Re: Aktion einmalig jeden Tag (von nitraM - 27.10.2009 21:24) Re: Aktion einmalig jeden Tag (von ChristianS - 28.10.2009 18:06) Re: Aktion einmalig jeden Tag (von nitraM - 29.10.2009 6:56) |