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


von Gast (Gast)


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 ?

von Michael F. (nestandart)


Lesenswert?

out OCR1AH,tmp1
out OCR1AL,tmp2

von Gast (Gast)


Lesenswert?

Das geht nicht, das sind erweiterte Register

von Stefan E. (sternst)


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.

von Michael F. (nestandart)


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.

von Stefan E. (sternst)


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.

von Michael F. (nestandart)


Lesenswert?

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

oops:) sorry :)

von Gast (Gast)


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

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
Noch kein Account? Hier anmelden.