Stoppuhr

Gast #239147
Lesenswert?
• ▲
▼
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)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren