Atmega8 timer1 Fast PWM

Gast #2871137
Lesenswert?

Hallo,
ich habe das Problem dass mein Timer1 nicht im Fast PWM Mode anläuft.
Habe ich bei der Registerbelegung noch etwas vergessen?
1
OCR1A = 500; // PWM einstellen, bevor der Timer startet
2
  OCR1B = 800;
3
  
4
  TCCR1A |= (1<<COM1A1);  // non inverting
5
  TCCR1A |= (1<<COM1B1);
6
  TCCR1A |= (1<<WGM10);  // Fast PWM OCR1A Top
7
  TCCR1A |= (1<<WGM11);
8
  
9
  TCCR1B |= (1<<WGM12);
10
  TCCR1B |= (1<<WGM13);
11
  TCCR1B |= (1<<CS10);  // no prescaling

Danke für eure Hilfe!
Gast #2871149
Lesenswert?

Hi

>OCR1A = 500; // PWM einstellen, bevor der Timer startet
>  OCR1B = 800;

>  TCCR1A |= (1<<COM1A1);  // non inverting
>  TCCR1A |= (1<<COM1B1);
>  TCCR1A |= (1<<WGM10);  // Fast PWM OCR1A Top

Im Mode 15 (OCR1A als Top) hast du nur den PWM-Kanal B zur Verfügung. 
OCR1A bestimmt die Frequenz und Auflösung der PWM. Damit an Kanal B eine 
PWM herauskommt muss OCR1A größer als OCR1B sein.

MfG Spess

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