www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Werte im EEPROM definieren


Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
PIC18F2580; MPLAP; C18;
möchte Werte im EEPROM definieren, die im Sourcecode liegen. Leider 
finde ich in der Hilfe von C18 kein Beispiel.
Für MPLAP-Assembler habe ich folgendes.
DBE  MACRO block, ofs, value
org h'2100'
DE  value
ENDM

DBE  1,  MAX,  MIN
....

END

Benötige Hilfe, um dieses mit dem C18 Compiler zu erstellen.

Gruß Siegfried

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe folgendes gefunden und es in den Sourcecode *.h eines PIC18F4680 
eingebunden.

#pragma romdata eedata_scn=0xf00000
rom eedata_values[8] = {0, 1, 2, 3, 4, 5, 6, 7};
#pragma romdata

Funktioniert Prima.

Habe es auch in den Sourcecode eines 18F258 eingebunden. Jedoch bekomme 
ich eine Fehlermeldung.

Error - section 'eedata_scn' type is non-overlay and absolute but occurs 
in more than one input file.

Kann damit nicht anfangen

An beiden *.lkr habe ich keine Änderung vorgenommen.

Gruß Siegfried

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie es da steht gehört das nicht in eine Headerdatei.
Schreib es in genau eine *.c Datei, dann sollte keine
Fehlermeldung mehr kommen.

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Code in eine *.c eingefügt. kein Fehler
aber
die paar Zeichen tauchen nicht im EEProm auf.

beim 18F4680 funktioniert es.

Gruß Siegfried

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Code in eine *.c eingefügt. kein Fehler

In welche *.c Datei? Wird die beim Projekt auch mit compiliert?

Autor: Siegfried Saueressig (dieleena)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
war mein Fehler (Kopierfehler)
habe "myEeprom" vor "rom eedata_values[8] = {0, 1, 2, 3, 4, 5, 6, 7};" 
stehen.
Datei ist komplett eingebunden.
Hat du eine erklärung, warum bei 18F4680 in der *.h und bei 18F258 in 
der *.c ?
für die Infos vielen Dank.
Gruß Siegfried

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.