Sollte da in der Zuweisung bei position = 0; nicht position = 1 stehen und umgekehrt ?Code:timestamp = TCNT1; if (position == 0) { MCUCR = (0<<ISC10); //fallende Flanke TCNT1 = 0; //zurücksetzen (Anti-Überlauf) position = 0; } else { MCUCR = (1<<ISC10); //steigende Flanke position = 1; }
Sonst wird ja beim nächsten Interrupt wieder die "if (position == 0)" durchlaufen.
Lesezeichen