Probleme mit UART/ATmega169 im AVR-Studio

Gast #750213
Lesenswert?

Hallo,

wenn ich das anhängende kurze Programm im AVR-Studio (Ver 4.13 Service 
Pack 2, Build 571 unter Win2000 SP 2) übersetzen will, kommt folgende 
Fehlermeldung:

error: Operand 1 out of range: 0xc5    Operand 1 ist UBRRH
error: Operand 1 out of range: 0xc4    Operand 1 ist UBRRL

Wenn ich die include-Datei von "m169def.inc“ in m16def.inc“ abändere 
erfolgt keine Fehlermeldung. Lt. Datenblatt des Atmega169 sollten die 
Register UBRRH und UBRRL verwendbar sein.

Lasse ich die UART-Initialisierung weg und erzeuge z.B. ein 
Blinkende-LED-Programm funktioniert die Compilierung als auch das 
Brennen in ein Atmega169-Board mit PonyProg ohne Probleme.
Die Deinstallation und erneute Installation von AVR-Studio war 
erfolglos.

Ich bin etwas verwirrt.

Gruß
Visitor
Angehängte Dateien:
Gast #750236
Lesenswert?

@MachMal,

super, alles bestens. Vielen Dank!!

In der m169def.inc-Datei sind die fraglichen Register als

"Definitions marked "MEMORY MAPPED"are extended I/O ports
and cannot be used with IN/OUT instructions" beschrieben.

Ist das eine Besonderheit des ATmega169? Bisher habe ich nur mit 
ATmega8/8535/16 "gebastelt".

Visitor
Gast #750240
Lesenswert?

>Ist das eine Besonderheit des ATmega169?

Nicht nur bei diesem Controller...
Irgendwann war der "Register-Bereich" komplett ausgenutzt, so dass Atmel 
auch noch Konfigurationsregister ins Memory legen musste.
Gast #750246
Lesenswert?

Hi

>auch noch Konfigurationsregister ins Memory legen musste.

Die liegen schon immer im RAM-Bereich, genau wie die Register( 
Ram[0]=r0);
Nur die Befehle 'in/out' haben einen eingeschränkten Adressbereich.

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