OCR1A lässt sich nicht beschreiben

Gast #1176347
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 ?
#1176369
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.
Gast #1176384
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

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