www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OCR1A lässt sich nicht beschreiben


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Ich schreibe gerade ein Programm für den Atmega88 in AVR Studio mit 
Assembler.
Wollte gerade einen PWM-Timer schreiben, aber im Simulator von AVR zeigt 
der erweiterte Register OCR1A(L/H) keinen Wert an, ist das ein Fehler im 
Simulator oder mache ich was falsch ??

Ich beschreibe das Register ganz normal wie die anderen erweiterten 
Register, mit dem Befehl sts:

sts OCR1AH, tmp1
sts OCR1AL,tmp2

Es funktioniert auch alles andere, aber nur in das Register kann ich 
nicht schreiben, hab schon im Datenblatt nachgelesen, da steht aber 
nichts spezielles bei den Registern.

Ist das vielleicht nur ein Bug in AVR-Studio ?

Autor: Michael Fr. (nestandart)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
out OCR1AH,tmp1
out OCR1AL,tmp2

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht nicht, das sind erweiterte Register

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass mich raten: du stellst den Timer erst auf PWM-Modus, und schreibst 
dann nach OCR1A.
Im PWM-Modus wird ein neuer Wert für das OCR1A-Register nicht sofort 
übernommen, sondern nur an bestimmten Stellen des Timer-Durchlaufs, z.B. 
bei TOP. Du musst den Simulator weiter laufen lassen, bis dieser Punkt 
erreicht ist.

Autor: Michael Fr. (nestandart)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast:
OUT - Store Register to I/O Location
STS - Store Direct to data space

OCR1AH/L - sind I/O Location, und kein data space.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Fr. wrote:

> OCR1AH/L - sind I/O Location, und kein data space.

Beim ATmega88 liegt das Register nicht im per in/out erreichbaren 
Bereich.

Autor: Michael Fr. (nestandart)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim ATmega88 liegt das Register nicht im per in/out erreichbarem Bereich.

oops:) sorry :)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan

Daran lags :)
Hab den Simulator zwar öfter durchlaufen lassen bis zu TOP, aber er hat 
die Werte nicht übernommen, dann hab ich den AVR-Simulator (also nicht 
den AVR-Simulator 2) ausgewählt, bei dem gehts auch wenn man nach der 
PWM Konfiguration das OCR1A Register beschreibt. Beim simulator 1 
funktionierts nur wenn mans vorher beschreibt.

danke, lg

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.