Bei einem ersten Überfliegen deines Codes sehe ich diverse Probleme:
1)
Code:
EICRA = (ISC01) | (1<<ISC00);
Siehst du da nicht irgendwie einen entscheidenden Unterschied rechts und links vom Oder?
2)
Code:
cli(); // alle interrupts sperren
Unwirksam. An der Stelle sind die Interrupts eh gesperrt, und am Ende der ISR werden sie auf jeden Fall wieder zugelassen.
3)
Der Timer wird beim Neustart nicht auf Null gesetzt.
4) (und möglicherweise der Hauptgrund für das immer 0)
Du stellst den Timer auf 10 MILLIsekunden ein.
Lesezeichen