Hi. Ich würde gerade eine "Stoppuhr" zur Zeitmessung implementieren.
Meine Idee dazu sieht wie folgt aus:
Timer 3 des ATMega128 aud prescale 64
TCCR3B = (1<<CS31) | (1<<CS30);
TCNT3 = 0;
aktiviere Overflow Interrupt
ETIMSK = _BV (TOIE3);
Bei Interrupt:
SIGNAL(SIG_OVERFLOW3){Num_of_Overflows++;}
Zeit berechnen...hier ist bestimmt der MEGAFEHLER:
Time = (Num_of_Overflows*0,262144)+(TCNT3*0,000004);
Ich hätte die Zeit gerne auf 4µs genau!!!
Danke für Rat und Hilfe, PILLEKEN
P.S. (16MHz/64)/65535 = 3,81 => alle 0,26s Overflow
=> 65535 * 0,26sec = 4,77 Stunden (Num_of_Overflows 16Bit)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.