www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Debugger zeigt falschen wert im OCR1A


Autor: Bratensosse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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
Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bratensosse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Bratensosse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bratensosse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

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.