m8515def.inc Frage

Gast #406886
Lesenswert?
• ▲
▼
Hallo, bin wirklich blutiger anfänger und versuch mich gerad ein
bisschen mit dem AVR-Studio 4. Beim Assemblieren kommt bei mir jedoch
der fehler: E:\Eigene Dateien\Test001\m8515def.inc(372): error:
Attempt to redefine keyword 'or'
Die Zeile lautet:
.equ  OR  =3    ; old name kept for compatibilty

was auch immer das bedeuten mag?!
Möchte diese Zeile auch nicht einfach löschen, da diese ja mit der UART
in verbindung steht.

Würde mich über Hilfe freuen, damit ich endlich mal den simulator
testen kann :)
Gast #406889
Lesenswert?
• ▲
▼
mhm, danke für die antowrt, aber ich habe quasi 0 verstanden.. :) Was
bedeutet denn Case-Sensitiv? Wie bekomm ich das denn hin, das er das
8515def annimmt?
Mein Source lautet ledigiglich:
.include "m8515def.inc"

ldi r16, 0b11111111

out DDRD, r16

out PortD, r16
Gast #406890
Lesenswert?
• ▲
▼
Case-sensitiv heißt, dass GROSS- und kleinschreibung nicht unterschieden
werden. "or" ist in Assembler ein Befehl, also ein Schlüsselwort, und
ist demzufolge reserviert. Auch wenn man anstatt "or" "OR"
schreibt, ist das für den Assembler dasselbe. Das ist anscheinend ein
Fehler in der m8515def.inc, wie ich grad festgestellt habe. Öffne mal
die m8515def.inc und kommentiere die betreffende Zeile aus (Semikolon
davor) oder lösche sie gleich komplett und speichere das ganze. Was den
Atmel-Leuten da eingefallen ist, kann ich mir so nicht denken...
Gast #406891
Lesenswert?
• ▲
▼
Versuche es mal so:

.include "8515def.inc"
.org 0x00

loop:

ldi r16, 0b11111111

out DDRD, r16

ldi r16, 0xFF  ;hier kannst du nen Ausgabewert des Ports festlegen

out PortD, r16

rjmp loop


...Die ganzen include Dateien stehen alle im AVR-Assembler Verzeichnis
und helfen dem Compiler dein PortD... zu verstehen
Gast #406893
Lesenswert?
• ▲
▼
> bekomm ich evtl. später probleme mit dem UART o.ä.

Nö, direkt drunter steht ein ".equ DOR = 3", das das (anscheinend
veraltete) OR ersetzt. Ist nur eine Sache der Abwärtskompatibilität.
Wenn Du nicht irgendwelche alte Software, die für andere AVRs
geschrieben wurde, übernehmen und auf Deinen µC umschreiben willst,
sondern alles selber schreibst, verwende DOR anstatt OR und die Sache
ist geritzt. Kann mir so gar nicht vorstellen, dass der Fehler mir hier
im Forum noch gar nicht untergekommen ist. Du warst ja vermutlich nicht
der erste, bei dem es geklingelt hat...
Gast #406894
Lesenswert?
• ▲
▼
Hab grad mal ein Programm in ASM geschrieben und bekomme keine
Fehlermeldung. Hast Du im AVRStudio unter "Project | Assembler
Options" den Assembler Version 2 ausgewählt? Der benutzt nämlich eine
neuere "m8515def.inc", in der das OR nicht mehr drin ist. Wenn Du
noch Version 1 benutzt, dann schalte mal um auf Version 2. Dann gehts
auch ohne Manipulationen an den .inc-Dateien...
Gast #406896
Lesenswert?
• ▲
▼
Also zum guten Schluss: Die von Dir beschriebene Fehlermeldung bekomme
ich nur, wenn ich die Zeile ".equ OR = 3" direkt ins Programm
reinschreibe. Sonst läuft alles normal (assembly complete with no
errors)

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