mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM an OCR2 funktioniert nicht.


Autor: dubdidub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag;

Ich würde gerne alle drei Kanäle des ATMega8 nutzen, aber ich bekommen 
nur an OCRA1 und OCRB1 ein Signal, OCR2 bleibt tot... wodran liegt's? So 
sieht mein Code bislang aus
int main(void)
{

  
  // OC1A, OC1B, OC2 auf Ausgang
  DDRB = (1 << PB1 ) | (1 << PB2 ) | (1 << PB3 );
  
 
  TCCR1A = (1<<COM1A1) | (1<<WGM10);     // PWM Phase correct, 8Bit
                                   // Clear OCR1A/B on Compare Match when up-counting.
                          // Set OCR1A/B on Compare Match when downcounting.
  TCCR1B = (1<<CS10);            // keinen Vorteiler
  
  TCCR2 = (1<<WGM20) | (1<<COM21) | (1<<CS20);  // PWM Phase correct, 8Bit
                                   // Clear OC2 on Compare Match when up-counting.
                          // Set OC2 on Compare Match when downcounting.
                            // keinen Vorteiler


    
    OCR1A = 0x0080;  //  der Zähler zählt bis zu diesen Werten
    OCR1B = 0x0040;
    OCR2 = 0x20;
    
   while (1){
   ;
   };
 } 


Bin für jeden Tipp dankbar...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Programmer noch dran?

MfG Spess

Autor: dubdidub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein...

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denke Du vertust Dich um einen Pin, denn es gibt in der Tat einen Kanal 
der laut Deinem Code nicht arbeiten dürfte:

Das ist der OC1B, da Du COM1B1:0 vergisst zu setzen.

Autor: dubdidub (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke MWS, war so, habe mich tatsächlich um einen Pin "vergriffen"... 
geht jetzt alles...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.