@SprinterSB: es geht um eine 16bit/16bit Division (Wegkonstante ~ 5200, Zeit 1...2048 ergibt Weg in cm/s), meine bisherige Divisionsroutine ähnelt dem avr-gcc Code.

@Gock: deine Möglichkeit scheint genial, ist aber ungenau, da sie die Geschwindigkeit als lineare Funktion der Zeit annimmt, in Wirklichkeit ist der Graph der Zeit - Geschwindigkeitsfunktion aber keine Gerade sondern eine Hyperbel. Durch geschickte Bereichswahl und eventuelle Vorfaktoren (Multiplizieren geht ja sehr einfach und schnell) kann man die Abweichung aber gering halten. Werde mal morgen früh durchrechnen ob das für mein Problem genau genug ist.

Außerdem könnte es sein, dass man, wenn man für die Zeitmessung ein Compare Match Interrupt im CTC-Modus verwendet durch kontinuierliches Senken des Vergleichswertes die Hyperbel der Funktion quasi zu einer Gerade "strecken" kann. Dann könnte man mit höherer Genauigkeit Gocks Formel anwenden. Auch dazu werd ich mir mal Gedanken machen.

Gruß wolli_bolli