2 Variablen zusammenhängen

Gast #2246259
Guten morgen zusammen,

ich arbeite zur Zeit an einem Timer, der seine Uhrzeit aus einem DS1307 
bekommt. (funktioniert)

Nun soll zu einer einstellbaren Zeit, ein Ereignis geschehen. (Vergleich 
von start Zeit, stop Zeit und aktuelle Zeit)

Dazu möchte ich gerne die stunden und minuten zu einer Variablen 
zusammenfügen sprich 12:30 = 1230, um sie dann zu vergleichen.

Ich finde nur nichts wie ich das anstellen könnte.

Wäre jemand so freundlich mich auf den richtigen Weg zu weißen? :)

Programmiersprache = C
Editor = AVR Studio 4
compiler = winavr
Prozessor: Mega 32
Wenn sie wirklich als dezimal 12 und 30 vorliegen:
Stunde * 100 + Minute, ergibt 1230.

Wahrscheinlich liegen sie aber in BCD vor, also 0x12 und 0x30, dann geht 
das mit 100 nicht, dafür aber so: (Stunde << 8) + Minute, ergibt 0x1230.
Gast
123 schrieb:
> Dazu möchte ich gerne die stunden und minuten zu einer Variablen
> zusammenfügen sprich 12:30 = 1230, um sie dann zu vergleichen.

Das wird fummelig, wenn du plötzlich noch Tagesgrenzen berücksichtigen 
musst. Ich verwende für sowas den Ansatz aus der Unix-Welt, nämlich die 
Sekunden seit einem fiktiven "Urknall" zu zählen (bei Unix ist das der 
1.1.1970). Damit lässt sich dann prima rechnen. Ob du jetzt Sekunden 
seit Zeitpunkt X oder Minuten seit Zeitpunkt Y verwendest ist eigentlich 
egal.

Das nur so als Anregung. HTH. :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.