Mein Fast PWM Mode 7 geht nicht

OP #7167342
Lesenswert?

Was mache ich falsch? Ich möchte mein TOP über OCR0A steuern aber wenn 
ich den Wert für OCR0A ändere, ändert sich die PWM-Frequenz nicht und 
ich habe hier auch kein duty von 1/3. Bin für jeden Tipp dankbar.
1
  DDRB |= (1 << PB1); // output 1 (OC0B)
2
  
3
  TCCR0A |= (1 << WGM00) | (1 << WGM01); // fast pwm
4
  TCCR0A |= (1 << WGM02); // set top by OCRA
5
  
6
  TCCR0A |= (1 << COM0B1); // enable output channel b
7
  TCCR0A |= (1 << COM0B0); // invert channel b
8
  
9
  TCCR0B |= (1 << CS00); // scale
10

11
  OCR0A = 30;
12
  OCR0B = 10;
13
  
14
  while (1)
15
  {
16
    _delay_ms(10);
17
  }
Beitrag #7179003 wurde von einem Moderator gelöscht.
Gast #7179160
Lesenswert?

Boy schrieb im Beitrag #7179003:
> WGM02 ist im TCCR0B register
> NICHT im TCCR0A register.
>
> Das haben dir jetzt 4 leute gesagt. Dussel.

...aber das merkt der Drecks-C-Compiler ja nicht!

Ein vernünftiger Compiler bemerkt das anhand der Definitionsdatei des 
benutzten Kontrollers.
Beitrag #7179165 wurde von einem Moderator gelöscht.

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