Also wenn du Zeiten messen möchtest, geht das auch einfacher...
Stell den Timer z.B. auf ein sehr kurzes Zeitintervall ein, also Überlauf nach vielleicht 100µs oder 1ms oder sowas in der Größenordnung (je nachdem was die kürzeste Zeit ist die gemessen werden muss). In der ISR startest du den Timer dann einfach nur neu, und zählst eine Variable hoch, quasi wie eine "Uhr".
Wenn du in deinem Programm dann eine Zeit messen möchtest, merkst du dir den Wert dieser Variablen zu Beginn des Zeitintervalls. Wenn die Messung beendet werden soll, ziehst du diesen Wert vom aktuellen Wert der Variablen ab, und erhälst so direkt die vergangene Zeit.
Lesezeichen