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: Geschwindigkeitsmessung Kategorie: Programmierung ASM (von Dietmar, Homepage - 25.01.2005 17:45)
 Als Antwort auf Geschwindigkeitsmessung von Michael - 25.01.2005 9:53

Hallo Michael,

das bisherige Ergebnis bei 90 km/h sieht doch schon ganz gut aus. Weniger als 0,33% Abweichung sind wohl kaum zu erreichen. Bei niedriger Geschwindigkeit ist der Wert der Zählvariablen größer, deshalb sollte auch die Genauigkeit höher sein. Tritt vielleicht irgendwo ein Überlauf auf? Was mir auffällt ist, daß $a3 und $a4 nirgendwo initalisiert werden. Ansonsten muß Du natürlich bedenken, daß durch die Skalierung Ungenauigkeiten bei der Berechnung entstehen, da wie gesagt, Nachkommastellen abgeschnitten (nicht gerundet) werden. Theoretisch dürfte der von der C-Control ermittelte Wert maximal 1 km/h unterhalb der wirklichen Geschwindigkeit liegen. Im Mittel sind es 0,5 km/h. Die minimal meßbare Geschwindigkeit liegt bei 120000/32767=3,7 km/h. Durch den Trick "30000/((zaehler shr 2) and &b0011111111111111)" kann man bis rund 120000/65535=1,8 km/h messen. Außerdem fällt mir auf, daß Du entgegen den Empfehlungen in der Hilfedatei des CCBAS2MC-Compilers den Bitport[2] sehr uneffektiv abgefragt hast:

define eingang port[2]

'Das folgende ist sehr uneffektiv, weil Betriebssystemroutinen verwendet werden:
if eingang=off then ...

'Besser ist das:
if eingang then ...         'wird zu brclr #1,$01,lab20

'oder das:
if not eingang then ...     'wird zu brset #1,$01,lab2


Gruß, Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: