Gast
#411070
Moin Leute
ich hab hier n Problem was ganz dumm ist oder so einfach dass man es
übersieht.
Ich will ein EEPROM zum testen mit 0 bis 50 vollschreiben. Das ganze
soll auch auf die ersten 50 Speicheradressen gepackt werden.
Hier mein Code:
for (i=0;i<51;i++)
{
eeprom_write_register(i, i); //Adresse, Data
delay(5);
}
Wenn ich den dann irgendwann mal abrufe..
for (i=0;i<51;i++)
{
usart_out = eeprom_read_register(i);
delay(5);
}
... ist die erste Adresse nicht etwa 0 sondern 20 ! Alles weitere
jeweisl eins höher. Also 21, 22 ,23....., 32
Ich verstehe diesen Offset von 20 nicht.
Wenn ich es mit lauter Nullen beschreibe....
for (i=0;i<51;i++)
{
eeprom_write_register(i, 0); //Adresse, Data
delay(5);
}
...und anschließend wie oben abrufe, ist das Ergebnis korrekt (nur
Nullen). Keine 20 als Offset.
Auch wenn ich es per hand schreibe...
eeprom_write_register(0, 0)
eeprom_write_register(1, 1)
eeprom_write_register(2, 2)
...ist das Abrufen auch korrekt.
Nur mit der ersten for-Schleife klappts nicht.
Kann mir das jemand erklären?