Die Schleife soll doch sicher laufen, bis das Flag gesetzt ist, und nicht so lange es gestzt ist, oder? Und warum ist das Lesen des Zählers in der Schleife?Code:do { n = TCNT0; } while(TIFR & (1<<OCF1A)); //!!!Und das funktioniert nicht ich weiß nicht wie ich das Register /speziell das FLAG- Bit abfrage???
Ich würde es eher so machen:
Code:while(!(TIFR & (1<<OCF1A))); // Warten, bis Zeitfenster abgelaufen n = TCNT0; // dann Ergebnis auslesen
Lesezeichen