M328 - PWM abschalten

Gast #4464310
Lesenswert?
• ▲
▼
Hallo,

bei einem Programm, dass ich weiterführen muss, funktioniert etwas mit 
der PWM-Abschaltung nicht.

So ist es initialisiert:
1
  DDRB |= (1<<PB1) | (1<<PB2);    //OCR1A/B-Ports auf Ausgang
2
  
3
  ICR1 = 0x620;
4

5
  TCCR1A |= (1<<COM1A1)|(0<<COM1A0); //PWM-Ausgabe einschalten       
6
  TCCR1A |= (1<<COM1B1)|(1<<COM1B0);
7
  TCCR1A |= (1<<WGM11);
8
  TCCR1B |= (1<<WGM13)|(1<<WGM12);
9
  TCCR1B |= (1<<CS10);               // prescaler = 1

Die PWM-Ausgabe/Dimmung an OC1A funktioniert auch.


Im weiteren Programmverlauf soll dann die PWM-Ausgabe mit
1
TCCR1A &= ~((1<<COM1A1)|(1<<COM1A0))
an PinB1/OC1A abgeschaltet werden.

Das funktioniert leider nicht. Statt dessen steigt der PWM-Wert etwa 
aufs Maximum.

Kann jemand sagen warum?
Gast #4464339
Lesenswert?
• ▲
▼
TCCR1A &= ~((1<<COM1A1)|(1<<COM1A0))

löscht ja COM1A1 und COM1A0.

(siehe Datenblatt)


COM1A1  COM1A0       Description
------  ------       -----------
   0       0         Normal port operation,
                     OC1A disconnected.


Oder ist irgendwo ein Denkfehler?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.