mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme beim EEPROM Zugriff


Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem beim Zugreifen auf den EEPROM meines ATMega8515.
Ich versuche ein Zeichen in den EEPROM zu schreiben, doch der
Controller scheint die Routine einfach zu ueberspringen. Hier mal ein
kleiner Code Ausschnitt:

        EEAR = 0x00;
  while(!(UCSRA & (1<<UDRE)));
  UDR = 0x38;

  EECR |= (1<<EERE);

  while(!(UCSRA & (1<<UDRE)));
  UDR = 0x33;

Das ganze ist in einer while Schleife und ich bekomme nicht die "3"
ausgegeben. Der EEPROM wird also nicht beschrieben.


Waere dankbar fuer Hilfe, Karl

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für den avr-gcc gibts ein eigenes Forum.

Wieso benutzt du nicht eeprom_write_byte bzw. eeprom_read_byte?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, werd ich mal genauer ausprobieren, scheint aber zu klappen, frag
mich nur warum es nicht sonst klappt!?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Straight-forward wäre dieser Ansatz:
Schau dir den Code von eeprom_write_byte an und vergleich ihn mit
deinem.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, naja, wie auch immer. Es gibt aber leider immernoch das Problem,
dass wenn ich zweimal hintereinander auf das EEPROM schreibe, dass der
zweite Eintrag nicht vernuenftig geschrieben wird. Es ist immer ein
anderes Zeichen.
  eeprom_write_byte(addr, 0x40);
  worklist.w_time_8 = eeprom_read_byte(addr);
  addr++;
  eeprom_write_byte(addr, 0x50);
  uint8_t toto = eeprom_read_byte(addr);

Wenn ich toto ausgebe kommt nur Datenmuell herraus, irgendwelche Ideen?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So,

auch wenns mir keiner glaubt, es lag an 0x50. Hat auch nur eine Stunde
gebraucht bis ich mal ein anderes Zeichen versucht habe!

Nochmals Vielen Dank Chris

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.