Hallo TobiasBlome,

Im Int0 wird Timer1 gelöscht und von 0 gestartet.
Ungefähr jede Millisekunde beim Überlauf von Timer1 wird eine Variable hochgezählt, die erst bei Unterbrechung der 1. Lichtschranke wieder auf 0 gesetzt wird.
Im Int1 wird Timer1 gestoppt.

Wozu startest und löschst du Timer1 überhaupt? Du willst doch letztendlich die Takte zwischen beiden Ereignissen zählen?

Welche zu messende Geschwindigkeit erwartest du denn ungefähr?

Gruß, Michael