Hallo allerseits, was ist zeitlich auf einem Mikrokontroller sinnvoller umzusetzen, wenn es darum geht eine Uhr zu konstruieren? Variante 1: ISR(...) { Sekunden++; if(Sekunden>59) { Sekunden=0; Minuten++; } //weiter mit Stunden etc... } oder ISR(...) { Sekunden++; Sekunden%60; if (Sekunden>59) Minuten++; Minuten%60; //und so weiter }
Also der zweite Ansatz zählt die Minuten auf jedenfall nie hoch... (angenommen du korrigierst den von Peter angemerkten Fehler)
Hallo, die erste Variante sollte die schnellere sein. Denn bei der zweiten brauchst Du ja die If-Abfrage zusätzlich zum modulo. Und am Rande: Lösung zwei würde garnicht funktionieren, da die Sekunden nie >59 werden können. Gruß Bad Urban Edit: Jetzt waren sogar zwei schneller :-)
1. gibt es keine if-Schleife 2. ist ein Vergleich für die meisten µCs deutlich schneller durchzuführen als eine Division. Daher ist die Idee mit dem modulo nicht so gut.
Lehrmann Michael schrieb: > modulo ist ein Albtraum für die Rechenleistung ... Außer bei Zweierpotenzen. Außerdem: http://www.if-schleife.de/
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.