Hallo liebe Programmierkollegen, zunächst ein frohes Fest! Nun zu meinem Problem: Ich würde gerne den Timer0 meines mega16 im fast PWM mode betreiben, und zwar so, wie es im Datenblatt auf Seite 76 ganz unten beschrieben ist. Dort steht, dass man den Timer wie im CTC Mode mit 50% duty cycle betreiben kann nur mit dem Vorteil des double buffer features, der in diesem Mode möglich ist. Im CTC Mode Mode tut der Timer genau wie er soll, allerdings kann ich dann keine kleineren Werte in das OCR0-Register schreiben, als der aktuelle Zählerstand ist. Tue ich das, erhalte ich die neue Freuquenz erst beim Überlauf des Timers. Genau das sollte das double buffer feature vermeiden. Das Problem ist nun, das die Beschreibung auf Seite 76 besagt, den Timer im fast PWM Mode zu betreiben (d.h. WGM01=1 und WGM00=1), und gleichzeitig für COM01=0 und COM00=1 in den Toggle Mode zu setzen! Laut Seite 82 ist dieser Modus aber Reserved und sollte damit nicht verwendet werden. Als Steuerwert ergäbe das für das TCCR0 Register $59 für starten des Timers und $58 für stopen des Timers. Das haut aber nicht hin und ist mein eigentliches Problem!!!!! Für TCCR0=$19 und TCCR0=$18 zum start und stopp im CTC Mode gibt es keine Probleme. Ebensowenig für $79 und $78 im fast PWM Mode. Was soll diese Beschreibung auf Seite 76 letzter Absatz, wenn es nicht funktioniert, oder mache ich irgendwo einen Denkfehler? Hab schon Stnden investiert und bin leider noch zu keinem Ergebnis gekommen! Mit Timer1 wäre das alles möglich, aber den brauche ich um die Ausgangsimpulse zu zählen! Es wäre prima, wenn mich jemand, der vielleicht schon mal das gleiche Problem hatte unterstützen könnte. Vorab schon mal ein Dank für Eure Mühe. Gruß Alex
Könnte ich! Das Problem ist dann aber genau das gleiche! Die Timer Timer0 und Timer2 unterscheiden sich nur im asynchronous mode. Der Rest ist gleich. Die problematische Beschreibung ist dann halt auf Seite 123 im Datenblatt anstatt auf Seite 76. Trotzdem danke für die Antwort! Alex
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.