mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik eeprom_read_block() liefert 'keine' Daten beim ersten lesen


Autor: yeyo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

beim Mega16 werden die Daten aus EEPROM beim ersten Lesen nach RESET 
nicht gelesen. Beim zweiten Lesen werden alle DAten korrekt gelesen.

Code:
uint8_t data[8];
eeprom_read_block(&data, 0x00, sizeof(data));

ich verwende:
AVR Studio: 4.14
AVR Libc 1.6.2


Kennt jemand das Problem?

Autor: Michael L. (-mic-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.

> Kennt jemand das Problem?

nein. aber ich kenne ein anderes weit verbreitetes problem:
jemand postet probleme mit der ausführung einer funktion, aber statt der 
funktion selbst gibt er nur deren aufruf preis, noch dazu ohne kontext.

gruß

michael

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus der avr_libc:

5.4.3 Function Documentation
5.4.3.1 void eeprom_read_block (void  buf, const void  addr, size_t n)
Read a block of n bytes from EEPROM address addr to buf.

Was heisst denn "nicht gelesen"? Irgendwas wird doch zurückkommen? 
Inhalt falsch? Alle Bytes betroffen?


Gruß, Stefan

Autor: Felix Nachname (time2ride)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yeyo wrote:
> Code:
>
> uint8_t data[8];
> eeprom_read_block(&data, 0x00, sizeof(data));
> 

Probier mal:
uint8_t data[8];
while(!eeprom_is_ready()){}  //Warten bis EEPROM bereit
eeprom_read_block(&data, 0x00, sizeof(data));
Wahrscheinlich willst du was aus dem EEPROM lesen, das EEPROM ist aber 
noch gar nicht bereit dafür...

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wahrscheinlich willst du was aus dem EEPROM lesen, das EEPROM ist aber
>noch gar nicht bereit dafür...

Das wäre aber nicht im Sínne des (avr-libc-)Erfinders, denn in der Doku 
heisst es dazu:

>Note:
>All of the read/write functions first make sure the EEPROM is ready to >be 
accessed.

Oliver

Autor: Felix Nachname (time2ride)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver wrote:
>>Wahrscheinlich willst du was aus dem EEPROM lesen, das EEPROM ist aber
>>noch gar nicht bereit dafür...
>
> Das wäre aber nicht im Sínne des (avr-libc-)Erfinders, denn in der Doku
> heisst es dazu:

Tatsächlich, da hast du wohl Recht. Mein Fehler...

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.