
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
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 |