Danke nochmal 
Race-Conditions.... so heißt das also
Schon wieder was dazu gelernt.
Aber wo genau siehst du da denn eine Race-Condition? Ich meine der Zähler hört doch nach der while schleife auf zu zählen und die Variable 'ergebnis' enthält einen Maximalen Wert von etwa 60 (liegt am Ultraschallsensor).
Die Auswertung des Timers ist mir auch schon in den Kopf gegangen:
Code:
while((PINC & (1<<PC3)))
{
if (TIFR & (1<<TOV1))
{
ergebnis = ergebnis + 1; //ergebnis1
TIFR = (1<<TOV1);
}
}
TCCR1B &= ~(1<<CS11); // Stoppe timer
ergebnis2 = TCNT1; //ergebnis2
Aber so wirklich schön finde ich das nicht. Hat auch nicht wirklich funktioniert.
Hast du da vielleicht noch einen Tipp/Codeschnipsel
Lesezeichen