www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega128 Problem beim eeprom lesen


Autor: Line H. (line)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich habe folgendes Problem:

Ich möchte in meimem ATmega128 Variablen im Eeprom speichern und später 
auslesen und im Terminal anzeigen lassen.
Es werden dann auch die richtige Anzahl an Zeichen ausgegeben, aber 
nicht die richtigen Zeigen, sondern immer nur 'ÿ'.

Weiß jemand woran das liegen könnte?

Vielen Dank für jede Antwort!

Gruß,
Line

Autor: Methan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist Dein Programm?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Line H. wrote:
> nicht die richtigen Zeigen, sondern immer nur 'ÿ'.

'ÿ' = ASCII 255

Du liest also immer 255 oder 0xFF aus dem EEPROM... eventuell wird 
garnix reingeschrieben?
Bitte auch beachten das beim neuprogrammieren das eeprom gelöscht wird!

Autor: Line H. (line)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die schnelle Antwort!

Ich hab mal nen Teil der betroffenen Funktionen in ner Textdatei 
gespeichert und angefügt.
Eigentlich sollte im eeprom was stehen, aber vielleicht hab ich ja 
irgendwas falsch gemacht.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Line H. wrote:

> Eigentlich sollte im eeprom was stehen,

Spontan würde ich da mal den Einfachsttest vorschlagen:
Jedes Brennprogramm kann auch das EEPROM auslesen.
Schau doch einfach mal damit im EEPROM nach, ob überhaupt
was drinnen steht.
Dann weißt du schon mal ob das Problem beim Schreiben oder
beim Lesen entsteht.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach Quelltext Studium

Dir ist aber schon klar, dass du den EEPROM Inhalt mit deinem
Brennprogramm unter Umständen extra in den Prozessor übertragen
musst?

Autor: Methan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du mit WINAVR arbeitest (aus avr-libc manual):

#include <avr/eeprom.h>

EEMEM unsigned char kennung[6]={'A','-','0','0','0','0'};

Mit "uint8_t eeprom_read_byte  (  const uint8_t *  addr   )" kannst Du 
ein Zeichen lesen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Methan wrote:
> Wenn Du mit WINAVR arbeitest (aus avr-libc manual):

Schau dir das Gepostete an. Das ist unverkennbar Codevision.
Erkennbar an den 5 Seiten Code, der Dinge initialisiert, die
man im Programm gar nicht benutzt.

Autor: Methan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoppla! Ziehe meine Zeilen zurück.

Autor: M. Kriegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fuse nicht gesetzt "preserve EEPROM ...." ?

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.