Gast
#239147
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)