Frage zu Counter, Fast PWM, ATMega8

Gast #267976
Lesenswert?

Hallo zusammen,

habe mich heute in PWM versucht und dafür den angehängten Code
geschrieben (Assembler). Erreichen will ich eine Fast PWM mit 8Bit
Auflösung über den Timer/Counter1. Getaktet hab ich die PWM ohne
Prescaler, habe bisher vorerst nur simuliert. Das Problem ist jetzt,
dass der Counter nicht Schritt für Schritt hochzählt, wie ich es
erwartet habe und dann beim TOP-Value einlöscht, sondern in 2er
Schritten zählt, in Form von Dual-Slope, sprich hoch und dann wieder
runter. Hat vielleicht jemand eine Idee wo der Fehler liegt?
Danke im Voraus

Gruß
Lars
Angehängte Dateien:
Gast #267980
Lesenswert?

Hallo, habe inzwischen das Problem gefunden, Timer1 kann auch als 8-Bit
genutzt werden, Fast-PWM geht hier mit 8, 9 oer 10 Bit, der Fehler
scheint jedoch in AVR-Studio zu liegen, wie ich unter Bugs gelesen
habe. Da ein gesetztes Bit ignoriert wird, handelt die Simulation wie
Phase-correct-PWM...
Danke für die Antworten!

Gruß
Lars
Gast #267982
Lesenswert?

Doch! Timer 1 kann 8-Bit PWM und 9Bit und 10 Bit, im Datenblatt ab Seite
97 (Tabelle 39) nachzulesen. Als Top-Wert kann auch das Input Capture
Register verwendet werden, damit sind dann x-beliebige Auflösungen
möglich. Also Lars, check nochmal alle Register-Werte und dann wirst
Du´s auch hinbekommen.
Gast #267983
Lesenswert?

Wie schon gesagt, scheint ein Bug in AVR Studio zu sein, habe bisher ja
nur simuliert, werde das gleich am Oscar mal prüfen.. (gibt irgendwo
hier sone Seite mit Bugs vom AVR Studio und da scheint die
PWM-Geschichte ganz ordentlich von betroffen zu sein, gleich am
Anfang)
Danke für eure Hilfe..

Gruß
Lars

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