Fehler beim Timer0 zuweisen

Gast #2681680
Lesenswert?

Hallo zusammen

Ich versuche einen Atmega88 mit dem AVR Studio 6 in Assembler zu 
programmieren.
Bis jetzt klappt soweit auch alles, aber beim zuweisen des Timers kommt 
immer eine Fehlermeldung.

.NOLIST
.include "m88def.inc"
.LIST

...

;Timer0 Einstellung
LDI Temp, 1<<CS02 | 0<<CS01 | 1<<CS00  ; Timer0 einstellen
OUT TCCR0B, Temp                       ; ""
LDI Temp, 1<<TOIE0                     ; Timer0 Überlauf aktiviert
OUT TIMSK0, Temp                       ; ""

...

Fehler 1: Operand 1 out of range: 0x6e

Der Fehler bezieht sich auf die letzte Zeile (OUT TIMSK0, Temp)

Ich kann mir nicht helfen, sind genau die Angaben wie im Datenblatt. Ist 
eventuell die include-Datei falsch oder defekt? Auf welche wird genau 
verwiesen? Ich hab mal geschaut, wenn ich auf dem PC danach suche findet 
der einige ;)

MfG
Gast #2681701
Lesenswert?

Cool danke jetzt gehts :)

Seid wann ist das denn so? Hab das früher auch so mit dem Atmega8 
programmiert und da hat das mit dem OUT immer bestens funktioniert.

Für was brauhc ich dann noch den OUT - Befehl, wenn ich das mit dem STS 
machen kann?

MfG
Gast #2681706
Lesenswert?

Hi

Mit dem OUT-Befehl (1 Word) kannst du nur einen bestimmten Adressbereich 
ansprechen. Beim ATMega8 liegen alle IO-Adressen innerhalb dieses 
Bereichs. Beim ATMega88 nicht mehr. Und die Adressen werden dann mit STS 
(2 Word) angesprochen.

MfG Spess

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