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
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.