Benötigt fast pwm den interrupt? bzw Fehlersuche

Gast #2298627
Lesenswert?

Ich versuche mt einem mega88 vom Timer 0, zwei pwm Signale erzeugen zu 
lassen. Das funktioniert nicht, daher bitte ich um eure Hilfe.

folgender code:
1
    DDRD = (1<<PD6)|(1<<PD5); //oc0A/B
2
    PORTD = 0;
3
    TCCR0A = (1<<COM0A1)|(1<<COM0A0)|(1<<COM0B1)|(1<<COM0B0)|(1<<WGM00)|(1<<WGM01); //fast pwm inverting 
4
    TCCR0B = (1<<WGM02)|(1<<CS00)|(1<<CS01);   //div 8, update bottom
5
    OCR0A   = 55;
6
    OCR0B   = 200;
7

8
    while(1);

Ich hoffte, dann  pwm Signale a PD5 und PD6 anliegen aber es tut sich 
nichts. Toggle ich "zu Fuß", sehe ich das.
Was mache ich da falsch, oder funktioniert der pwm über das ocr Register 
nur, wenn der interrupt verwendet wird oder so?
Bewusst finden tute ich nichts dergleichen im Datenblatt.
Gast #2298637
Lesenswert?

Habe ich das grundlegend falsch verstanden? Ich war der Annahme, daß der 
Counter in dem Modus rund läuft, also nur indirekt bei 255 umbricht und 
ocr0a und ocr0b unabhängig mit dem tcnt Register vergleicht und 
entsprechend den Ausgangs Pin setzt? :-(
Gast #2298649
Lesenswert?

Oh Mann! Ich danke dir da hätte ich vermutlich noch lange gesucht. Hatte 
schon Sorge, unter fauler Mensch zu fallen.
Irgendwie weiß ich nach so dämlichen Fehlern nie, ob ich froh sein soll 
ihn gefunden zu haben(oder Hilfe gefunden zu haben), oder mich über mich 
selber maßlos ärgern soll....

Nun steinig ist der Weg -  ich muss noch lernen jedes(!) Wort in den 
Datenblättern auf die Goldwaage zu legen. Lese immer zu schnell.

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