PWM mit ATmega8: Takt langsamer als eingestellt

OP #1773507
Lesenswert?

Hallo!

Ich versuche gerade, mit einem ATmega8 per PWM einen 1202Hz-Sinuston zu 
erzeugen.
Es funktioniert auch alles - nur ist das Signal zu langsam: Ich messe 
mit meinem Oszilloskop genau ein Achtel der gewünschten Frequenz.
Prescaler und Takt sind richtig eingestellt (CS10 in TCCR1B gesetzt -> 
kein Prescaler; CKSEL0, 1 und 3 sowie SUT0 programmiert -> 8MHz interner 
Oszillator) und die Frequenz lässt sich auch durch Vergrößern des 
Prescalers bzw. Verringern der Oszillatorfrequenz noch weiter 
reduzieren.
Was könnte hier also diese Teilung durch 8 verursachen?

PS: Die Fuses sind auf 0xE4 (Low) und 0xD9 (High) gesetzt.
OP #1773539
Lesenswert?

Kopf -> Tisch!!
Wie immer: Lesen hilft: Ich habe WGM13, 12 und 11 im TCCR1A-Register 
gesetzt, obwohl 12 und 13 im TCCR1B-Register sind...
Entsprechend habe ich den µC auf eine Phase-correct 9-bit PWM gestellt, 
während ich meine Werte für eine 7-bit PWM ausgerechnet habe.
Kein Wunder, dass da Murks rauskommt.
Inzwischen habe ich den Fehler behoben und erhalte ein schönes 
1202Hz-Signal.
Vielen Dank für eure Hilfe!

Nachtrag: Ich habe den Fehler sogar selber entdeckt, noch bevor ich eure 
Beiträge gelesen habe.
Angehängte Dateien:

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