Außerdem wird das Zurücksetzen des Timers nicht richtig funktionieren, weil falsche Reihenfolge der Zugriffe. Warum überhaupt einzelne Zugriffe auf Low- und High-Byte? Warum nicht einfach:
Besser und genauer wäre es natürlich, das Input-Capturing des Timers zu benutzen.Code:TachoTime = TachoTimeCounterHigh; TachoTime = TachoTime<<16; TachoTime = TachoTime + TCNT1; TCNT1 = 0; TachoTimeCounterHigh = 0;
MfG
Stefan
Lesezeichen