Welche Zeit ist das?

#3162654
Lesenswert?

Hallo
habe hier einen Timer für 16 MHz. Habe ihn gedacht für 1 ms. Habe aber 
mir 10 ms notiert. Habe dann versucht es auszurechnen und bin total 
durcheinander gekommen. Jetzt frage ich lieber euch.
1
void timer2()      // Timer 10ms 
2
  {  TCNT2 = 0;
3
  OCR2=249;
4
  TCCR2=(1<<WGM21)|(1<<CS21)|(1<<CS20);  
5
  TIMSK |= (1<<OCIE2);  }

ist dieser für 10ms oder für 1ms? Falls er für 10ms ist, was muss ich 
noch machen für 1ms. Sorry, black out.
achim
Moderator Persönliche Seite #3162672
Lesenswert?

Vielleicht schreibst du ja noch den Controllertyp dazu?

ATmega8: CS20|CS21 heißt Prescaler 8, der Timer läuft also mit 2 MHz.
Wenn man diese durch 250 teilt (Zählbereich 0 bis 249), „tickt“ der
Timer alle 125 µs (8 kHz).  Damit ist für einen 8-bit-Timer aber das
Ende der Fahnenstange erreicht bei diesem Prescaler.

Wenn du den Prescaler auf 64 setzt (CS22), dann läuft er mit 1 kHz.

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