Hast du das ganze Mal simuliert? Solche hässlichen Seiteneffekte sind mit einer Simulation oft noch am einfachsten aufzudecken (oder mit HW-Debugging). Alternativ könntest du waitms (warum verwendest du eigentlich nicht die delay-Makros aus der avr-libc?) mit Debug-Ausgaben versehen um dir einen Zeitstempel + Parameter bei Eintritt und Verlassen der Funktion auszugeben.
mfG
Markus
Lesezeichen