Atmega8 Timer2 PWM - Verständnisfrage

Gast #2793709
Lesenswert?

Hallo zusammen,

ich habe eine grundsätzliche Frage, zu der ich im Datenblatt noch im 
Internet (sofern ich richtig gesucht habe) eine Erklärung gefunden habe.

Mein Versuchsaufbau ist dass der OC2 Pin oszilloskopiert wird.

Der Atmega läuft bei 16 Mhz.

Jetzt zu meiner Frage:
Wenn ich einstelle, dass die Clock durch den Faktor 1 geteilt wird, 
erhalte ich am Oszilloskop eine Frequenz von 62.5 kHz.

Wieso ist das so?
Gast #2793961
Lesenswert?

Sorry: hier ist der Quellcod
1
void pwm_Init(){
2
  TCCR2 |= (1 << WGM21) | (1 << WGM20);    //8Bit Fast PWM
3
  TCCR2 |= (0 << CS22) | (0 << CS21) | (1 << CS20);   //Clock devidet by 1
4
  TCCR2 |= (1 << COM21) | (0 << COM20);        //NON-Inverting
5
  OCR2 = 0;
6
}
7

8
void set_pwm(double prozent){
9
  OCR2 = (int) prozent * 2.55;
10
}

Sonst habe ich keinerlei Einstellungen und auch keinen anderen Timer in 
Verwendung.
#2793963
Lesenswert?

Peter schrieb:

>  TCCR2 |= (1 << WGM21) | (1 << WGM20);    //8Bit Fast PWM
>  TCCR2 |= (0 << CS22) | (0 << CS21) | (1 << CS20);   //Clock devidet by

Also Vorteiler 1 und sonst nichts spezielles.

Frage:
Wenn du in einer Sekunde 16 Millionen mal zählen könntest und jedesmal 
nach 255 wieder bei 0 anfangen musst, wie oft hast du dann in 1 Sekunde 
bei 0 angefangen zu zählen?

16000000 / 256 = 62500

Na, kommt dir die Zahl irgendwie bekannt vor?

FAQ: Timer

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