Danke nochmal
Race-Conditions.... so heißt das alsoSchon 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:
Aber so wirklich schön finde ich das nicht. Hat auch nicht wirklich funktioniert.Code:while((PINC & (1<<PC3))) { if (TIFR & (1<<TOV1)) { ergebnis = ergebnis + 1; //ergebnis1 TIFR = (1<<TOV1); } } TCCR1B &= ~(1<<CS11); // Stoppe timer ergebnis2 = TCNT1; //ergebnis2
Hast du da vielleicht noch einen Tipp/Codeschnipsel![]()







Zitieren


Lesezeichen