Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Zeitmessung Kategorie: C-Control I V1.1 (von Kay - 7.03.2005 9:01)
 Als Antwort auf Re: Zeitmessung von Uwe - 6.03.2005 17:37
mit einem digit fehler im freilauftimer musst du schon leben können in basic.
wenn du zum bleistift deinen timer löschst, aber bereits 19 ms seit dem letzten
increment vergangen sind, dann setzt du den zwar erstmal auf null, doch noch
bevor die nächste aktion in gang kommt, steht der timer schon auf eins.
somit ist die periodendauer deines eingangssignal schlicht 20 ms zu lang
geschwindelt.
im übrigen verwende ich in basic immer folgendes kontrukt zum messen kurzer zeiten:


define timerini word 'variable zur aufnahme des timers vor der messung

timerini = timer
... 'tu dies
... 'tu jenes
print abs (timer - timerini) '(zum beispiel) verbrauchte zeit in 20ms-steps ausgeben


abs (timer - timerini) liefert stets einen positiven wert, selbst dann, wenn der timer
während der messung überläuft, somit ist umständliches löschen oder das warten
auf einen startwert unnötig. es bleibt aber auch mit dieser methode dabei, das ein digit
fehler zu kalkulieren ist.
wenn du mehr genauigkeit benötigst, kannst du den systemtimer benutzen. der is gut
10.000 mal schneller. seine anprogrammierung ist im manual zum 68HC05 beschrieben.

 Antwort schreiben

Bisherige Antworten: