Hallo zusammen, wollte heute mal etwas mit dem Debugger von AVR Studio spielen. Dabei ist mir aufgefallen, dass im OCR1A der falsche Wert steht. Atmega8 AVR Studio 4.18 WinAVR von 10.01.2010 Anstatt 0x0BB8 steht 0x01B8 drin. Kann mir vielleicht jemand sagen das so ist?
:
Verschoben durch Moderator
Bei PWM Modi heisst es immer aufpassen. Bei manchen Modi werden die Compare Werte nicht sofort übernommen, sondern erst dann, wenn der Timer TOP oder BOTTOM erreicht hat. -> Datenblatt studieren.
Hallo Karl, Habe nun mal den Simulator bis ca 30ms laufen lassen, bis dahin wird top bzw bottom lange überschritten. (habe es auf 20ms für einen modellbauservo eingestellt. Ergebnis das gleiche. Fällt dir noch was ein? Liebe Grüße und vielen Dank für deine Antwort. Grüße
Machs nochmal. Aber diesmal beobachtest du den TCNT1. Wenn der den Wert vom ICR1 erreicht und sich dann immer noch nichts tut, dann hast du ein Problem. Laut Datenblatt wird OCR1A bei Erreichen des BOTTOM Wertes (also wenn der TCNT1 von TOP auf 0 springt) upgedated. Auch darfst du dem Simulator nicht alles glauben. Gerade im Bereich PWM sitzt da so mancher Fehler in der SImulation. Hast du schon mal die Errate durchgesehen, ob es sich dabei ev. um einen bekannten Bug handelt?
TCNT1 läuft ca. bis 0x01FD und läuft dann rückwärts zurück auf 0x0000 Errate habe ich noch nie gehört, werde mal danach googln Danke für deine Antwort :-)
Bratensosse schrieb: > TCNT1 läuft ca. bis 0x01FD und läuft dann rückwärts zurück auf 0x0000 Hab ich im Datenblatt falsch nachgesehen? Das ist doch Modus 14, Fast Pwm Der sollte eigentlich bis 0x9C40 (=ICR1) hochzählen und dann auf 0 zurückfallen. Und noch was. Dreh das alles mal ein bischen um. Ein Timer wird 'eingeschaltet' indem man ihm einen Vorteiler zuweist. Die übliche Vorgehensweise ist es zuerst die Ding einstellen und erst dann gehts los Also: Stell die Register richtig und erst dann weist du einen Vorteiler zu.
ok, habe ich promt mal ausprobiert. gleiches Problem. Auf dem Atmega geht alles wie ich es mir vorgestellt habe. Grüße und danke für deine hilfe
Bratensosse schrieb: > Auf dem Atmega geht alles wie ich es mir vorgestellt habe. Wofür willst du dann noch die Simulation? Kann man für einen ATmega8 schon den "Simulator V2" auswählen? Wenn ja, dann immer diesen benutzen, der sollte den Digitalteil 1:1 so abbilden, wie er auch im Silizium realisiert ist (im Analogteil kann er natürlich trotzdem noch Fehler enthalten). Der alte Simulator dagegen war letztlich ein Rewrite der Hardware und hatte daher durchaus Potenzial für Bugs.
Bratensosse schrieb: > TCNT1 läuft ca. bis 0x01FD das liegt verdächtig nahe bei 0x01FF, was afaik auf eine 9 bit-PWM hindeuten würde...
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.