Also ich kann nur berichten, dass die Zeitmess-Variante vom Grunsdsatz her durchaus funktioniert. Ich habe damit eine Drehzahlmessung und -regelung für eine Winde für (ziemlich große) Modellsegelflugzeuge realisiert, die einwandfrei funktioniert.

Allerdings muss man den Timer gar nicht auf "gerade" Werte konfigurieren. Du kannst ihn beim 1. Interrupt starten und beim nächsten stoppen. Wenn Du weisst, wieviele ms (oder µs) ein Taktzyklus ist, musst Du nur noch den aktuellen Timer-Stand mit diesem Wert multiplizieren und hast die Umdrehungszeit. Das hat auch noch den Vorteil, dass nicht die Anzahl von Takten mit berücksichtigt werden muss, die zwischen dem Interrupt und dem Einspringen in die ISR vergehen. Das sind zwar nicht viele, aber auf die Dauer kann sich das schon bemerkbar machen.

Und der Timer sollte halt bei der langsamsten noch zu detektierenden Drehzahl nicht überlaufen - klar