Forum: Mikrocontroller und Digitale Elektronik Fehler im AVR-Studio4?


von Andreas (Gast)


Lesenswert?

Kennt jemand dieses Problem? Nach dem assemblieren bekomme ich folgende
Warnungen:
warning : Register already defined by the .DEF directive

Das Problem ist, dass ich keine Register mehrfach definiert habe.
.def  zeichen          = r0
          .def  status  = r1  ; Flagregister
          .def  screen  = r3
          .def  timeout  = r13
          .def  lwt  = r14  ; LCD Variable
          .def  hwt  = r15  ; LCD Variable
          .def  i2cdelay= r16  ; Delay loop variable
          .def  i2cdata  = r17  ; I2C data transfer register
          .def  i2cadr  = r18  ; I2C address and direction register
          .def  i2cstat  = r19  ; I2C bus status register
          .def  temp  = r20  ; work
          .def  temp1  = r21  ; work
          .def  flag  = r22  ; flags für led anzeige
          .def  midichn  = r23  ; midi kanal
          .def  ypos  = r24  ; y position lcd
          .def  xpos  = r25  ; x position lcd
          .def  key  = r26  ; key value
          .def  led  = r27  ; LED-7Segment Display
          .def  timer  = r28
          .def  prognr  = r29  ; Programmnummer
Ich habe mit der Suchfunktion sowohl nach der Registernummer als auch
nach dem definiertem Bezeichner gesucht. Keine Duplikate. Ist das ein
Assemblerfehler?

von ERDI - Soft (Gast)


Lesenswert?

Nicht du hast etwas doppelt deklariert, sondern in der Include-Datei
(jene, die den Prozessor beschreibt) ist bereits eine der Variablen
deklariert.
Ich denke mal, dass es Register R26 bis R29 sind, da diese in der Regel
bereits als X und Y-Register in benannter Datei deklariert sind.

von Andreas (Gast)


Lesenswert?

Schei...., stimmt!

;X,Y,Z pointer
.def  XL  =r26
.def  XH  =r27
.def  YL  =r28
.def  YH  =r29
.def  ZL  =r30
.def  ZH  =r31
Danke! Man sieht oft den Wald vor lauter Bäumen nicht.

von HanneS (Gast)


Lesenswert?

Mach mal Doppelklick auf Fehlermeldungen...

Bit- & Bytebruch...
...HanneS...

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.