ATmega8535 - PWM frequenz von Timer1/Timer2 unterschiedlich

Gast #1122453
Hallo zusammen,

ich arbeite gerade mit einem ATmega8535 (intern 8MHz) und versuche 3 
HW-PWM-Kanäle zu erzeugen, welche alle mit derselben PWM-Frequenz 
arbeiten.
Ich nutze dazu den Fast-PWM Modus von Timer2 und den Fast-PWM Modus von 
Timer1 (Timer1 hat zwei Compareausgänge ==> Zwei Kanäle).
Timer1 ist auch auf 8Bit Genauigkeit eingestellt. Die Prescaler von 
Timer1 und Timer2 sind gleich. Hier der Code:
1
//Set up PWM-Timer2: 
2
  TCCR2 |= ((1<<WGM21) | (1<<WGM20) | (1<<COM21)); //Fast PWM, non-inverting
3
  OCR2 = 128;
4
  TCCR2 |= (1<<CS22); //Start Timer2, Prescaler = 64
5

6
  //Set up PWM-Timer1:
7
  TCCR1A |= ((1<<COM1A1) | (1<<COM1B1) | (1<<WGM12) | (1<<WGM10)); //Fast PWM, non-inverting, 8-Bit
8
  OCR1A = 128;
9
  OCR1B = 128;
10
  TCCR1B |= ((1<<CS11) | (1<<CS10)); //Start Timer1, Prescaler = 64

Eigentlich sollten nun alle 3 PWMs dieselbe Frequenz haben... Doch die 
Frequenz der PWM von Timer2 ist doppelt so gross wie diejenige der 
beiden PWMs von Timer1... warum?
Habe im Datenblatt keinen Hinweis gefunden - die müssten doch dieselbe 
Frequenz haben?

Gruss
Mario
Gast
> Also ist WGM12 nur ein Synonym für eine Ziffer?
Genau so ist das, ein Macro in einer Headerdatei ("iom8535.h" in diesem 
Fall - um ganz präzise zu sein).

hth, Jörg
ps.: Bevor jemand auf dumme Gedanken kommt: diese Datei wird automatisch 
eingebunden, wenn der AVR angegeben ist (im 'Studio-Project bzw. 
Makefile), die gehört nie manuell eingebunden.
Gast
> Also ist WGM12 nur
> ein Synonym für eine Ziffer?

Genau, eine Bitnummer, und die passt zu jedem Byte, auch zu denen, wo 
sie nicht hingehört. ;-)

~

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.