eeprom_read_block() liefert 'keine' Daten beim ersten lesen

Gast #1194504
Hallo,

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

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

ich verwende:
AVR Studio: 4.14
AVR Libc 1.6.2


Kennt jemand das Problem?
#1194915
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
#1194929
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
#1195257
yeyo wrote:
> Code:
>
1
> uint8_t data[8];
2
> eeprom_read_block(&data, 0x00, sizeof(data));
3
>

Probier mal:
1
uint8_t data[8];
2
while(!eeprom_is_ready()){}  //Warten bis EEPROM bereit
3
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...
Gast #1195295
>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
#1195402
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.