www.mikrocontroller.net

Forum: Compiler & IDEs Unterschied PWM mode 1 und 5 bei Attiny25


Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,


kann mir (blutiger Anfänger) jemand kurz den Unterschied zwischen den 
beiden PWM-modes 1 und 5 erklären?
Ich steig' gerade nicht mehr durch.
Laut Tabelle 11-5 und der Erläuterung auf Seite 77 im Datenblatt zählt 
der Timer bei Phase Correct PWM entweder von BOTTOM bis 0xFF oder von 
BOTTOM bis OCRA0, je nach Zusand der WGM-Bits in TCCR0.

Was für einen Sinn hat es überhaupt, den Timer bis OCRA0 zählen zu 
lassen? Ich dachte, der entsprechende Pin wird bei jedem compare match 
umgeschalten. Würde der Timer jetzt bei OCRA0 "umkehren", könnte man 
doch das Verhältnis der Pulsweiten zueinander gar nicht ändern, sondern 
nur die Frequenz des Umschaltens.

Was mich völlig verwirrt: ich probiere das ganze gerade an einer LED an 
PORTB0 aus, und egal ob ich WGM02 und WGM00 setze oder nur WGM00, es 
kommt immer das selbe raus.

Ich sitze gerade schon ziemlich lange vor dem Datenblatt bzw. meiner LED 
und denke, dass ich einfach irgendwo auf dem Schlauch stehe.


Hier noch der Code und wie gesagt, wird WGM02 nicht gesetzt, kommt das 
gleiche raus. (Setze ich z.B. OCRA0 = 200, leuchtet die LED stärker. 
soweit funktioniert's also schonmal):
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>


int main (void)
{
uint16_t i=0;

sei();
DDRB   |= (1<<DDB0) | (1<<DDB1);

TCCR0A |= ( (1<<WGM02) | (1<<WGM00) | (1<<COM0A1) );
TCCR0B |= ( (1<<CS01) | (1<<CS00) ) ;

OCR0A=20;

while (1)
{
}
}


Vielen Dank!

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, das beides mal das gleiche rauskam lag wohl daran, dass
WGM02 in TCCR0B liegt und nicht in TCCR0A.

Bleibt also nur noch meine Frage nach dem Sinn von Modus 5. Aber ich 
vermute mal, das Ganze dient einfach dazu, die PWM an die Frequenz zu 
koppeln.

Richtig?

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.