mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hundertstel in Format mm:ss,hh wandeln


Autor: Hans-Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Problem gelöst....und gleich das nächste :-(
Ich habe dam mal wieder voll den Balken vorm Kopf.
Da ihr mir schon so oft geholfen habt:
uC als Stoppuhr....ein Timer löst einen Interrupt alle 0,01 Sekunden
aus.....die Variable "hundertstel" wir hochgezählt bis auf 65536.
Dann wird die Variable "vielfaches_hundertstel" um eins erhöht und
"hundertstel" fängt von vorne an....soweit so gut.
Wie rechne ich die Sache denn aber nun geschickt in das Format mm:ss,hh
um ??
Habt ihr das schon mal gemacht ???


HPK

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum läst du den Timer bis 65536 laufen?

Spontane schnelle Idee:
wenn du ihn im autoreload von (65536-6000) laufen läßt, hast du in
deinem "Vielfachen" die Minuten.
Und im Timer:
(timer+6000)/100 = sekunden
(timer+6000)%100 = hunderstel

Ich hoffe meine spontane Idee ist so richtig.

Gruß

Thomas

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
für Uhren gibt 2 prinzipielle Wege:
-entweder für jede Zeitstelle ein eigenes Byte benutzen, bei ==60 (oder
100 oder 24) auf Null setzen und das nächsthöhere Byte incrementieren.
Das ist direkt Ausgabefreundlich, mehr aber auch nicht. Aufwändiger in
der Programmierung, langsamer, und rechnen kann man damit so gut wie
gar nicht.
-oder, so ähnlich wie du es angedacht hast, eine Zeiteinheit in einer
entsprechend grossen Variable zählen und erst bei der Ausgabe
formatieren. Das macht man dann mit Divisionen, Ganzzahlteil und Rest.

Mit einer long-Variablen kommst du bei 1/100s immerhin auf >1Jahr, das
sollte genügen.
Bsp: Zählerstand 456789 /100=4567, Rest 89 (1/100s)
4567/60=76, Rest 7 (s)
usw.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.