Einen Timer mit Interrupt konfigurieren
-den Timer starten
-mit einem externen Interrupt den Timer immer wieder auf Null setzen
-läuft der Timer über, weil Impulse fehlen, kommt der Timeroverflowinterrupt und es kann reagiert werden.

Da hier nur Register gesetzt werden, dürfte der Code sehr schnell sein.
Die gewünschte Zeit bis zum Interrupt kann dadurch verändert werden, indem nicht auf Null zurückgesetzt wird, sondern auf einen höheren Wert.

Günter