Hallo alle zusammen,
ich versuche gerade den Timer2 einer Atmega168 bzw 88 mit einem Teiler
von 64 zu betrieben. Der CS22 bit zeigt am Oszi aber keinen Einfluss auf
die Frequenz. Im Datenblatt steht in der Beschreibung des TCCR2B
Registers unter CS22 "R" für read only?
http://www.atmel.com/Images/doc2545.pdf
Ich vermute, dass das "R" nur ein Schreibfehler ist, und der Fehler bei
mir liegt, nur wo?
1 | // Timer 2 (8bit) OC2A(PB3), OC2B(PD3)
|
2 | TCCR2A = (1<<COM2A1)|(0<<COM2A0)|(0<<COM2B1)|(0<<COM2B0)|(1<<WGM21)|(1<<WGM20); // Mode 3: Fast PWM, OC2A(PWM-signal)
|
3 | TCCR2B = (0<<FOC2A)|(0<<FOC2B)|(0<<WGM22)|(1<CS22)|(0<<CS21)|(0<<CS20); // CK/64, Top value=255 -> ((18.4320MHz/64)/255) = 1129 Hz
|
4 | //TIFR2 = (1<<OCF2B)|(1<<OCF2A)|(1<<TOV2); // Interrupt Flag Register
|
5 | TIMSK2 = (0<<OCIE2B)|(0<<OCIE2A)|(0<<TOIE2); // No Timer match interrupt
|
6 | OCR2A = 127; // Timer compare register rücksetzen <--- PWM breite am OC2A
|
7 | OCR2B = 0x00; // Timer compare register rücksetzen
|
8 | TCNT2 = 0x00; // Timer rücksetzen
|