www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EEPROMEND scheint nicht zu existieren


Autor: SchwinneZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich wollte heute mal ein bisschen mit dem EEPROM von meinem ATMEGA8 
rumspielen.
Dazu habe ich teilweise die Codebeispiele aus dem Tutorial kopiert.
  sbic    PinD, 3
  rjmp    Main2
    
  sbi   PortD,6
  rcall   Wait
  sbic  PinD, 2
  ldi     data, AN
  sbis    PinD, 2
  ldi     data, AUS
  cbi     PortD,6
  rcall   Wait
  rcall   EEPROM_write
  adiw    ZL,1                    
        cpi     ZL,low(EEPROMEND+1)         
        ldi     temp,high(EEPROMEND+1)      
        cpc     ZH,temp
        brne    Main                    
        ldi     ZL,low(Daten)             
        ldi     ZH,high(Daten)
  rjmp    Main

Ich bekomme leider den Fehler: Undefined Variable referenced.
Und das in jeder Zeile in der der Z-Pointer mit EEPROMEND+1 verglichen 
wird.
Die m8def.inc ist allerdings richtig eingebunden.

Autor: SchwinneZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt mal noch meine "m8def.inc" durchsucht. Dort ist tatsächlich 
EEPROMEND nirgends deklariert. Kann mir jemand sagen wie ich das dann am 
besten in die Datei eintrage?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

und Du hast mal in die m8def.inc geschaut, ob es die Definition da gibt?

Ich hatte auch schon verscheidene Versionen, da hat auch Atmel schonmal 
was an- oder weggebaut...

Gruß aus Berlin
Michael

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Stell das AVR-Studio auf 'Assembler2'. Dort ist das definiert. Müsste 
bei 'Project Settigns' o.ä. sein.

MfG Spess

Autor: SchwinneZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab unter AVR-Assembler Setup das AVR-Studio auf Assembler 2 umgestellt. 
Scheint aber immer noch nicht zu funktionieren =/

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

In der Def bei mir sind EEpromend und E2END drin.

MfG Spess

Autor: SchwinneZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst du mir die 2 Zeilen vielleicht gerade rauskopieren? =)

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.equ  E2END  = 0x01ff
.equ  EEPROMEND  = 0x01ff

allerdings Assembler2!

Autor: SchwinneZ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke=)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Das mit dem Assembler2 funktioniert aber nur wenn keine Pfadangabe in 
der Include-Anweisung ist.

MfG Spess

Autor: Z8 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi spess53,

das war ein "Wink mit dem Zaunsfahl"!
Ich würde die def Anweisung in meine main.asm schreiben!

Gruß Z8

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.