Hallo,
Ich bin gerade dabei mit einem Mikrocontroller via SPI einen EEPROM zu beschreiben. Genauer gesagt handelt es sich hierbei um den M95010 EEPROM.
Die Kommunikation mit dem EEPROM scheint reibungslos zu verlaufen, da ich auf meine Fragen stets eine Antwort bekomme. Was mich nun verwirrt ist, dass wenn ich an die Adresse 01 einen schreibbefehl sende mit dem Inhalt 00 und diese anschließend auslese, erhalte ich 0x80. Besagtes Beispiel habe ich im Anhang hinzugefügt.
Erklärung:
- Byte = Commandbyte (0x02 = Schreiben, 0x03 = Lesen)
- Byte = Adressbyte
- Byte = Databyte
Mein Mikrocontroller führt Schreibbefehle aus die Sowohl das Databyte als auch die Adresse jeweils um ein erhöhen. Daraus entstehen die folgenden Werte an Adressen:
Adresse Schreibwert Lesewert
0x01.........0x00.........0x80
0x02.........0x01.........0x81
0x03.........0x02.........0x82
................................
0x79.........0x7E.........0xFD
0x80.........0x7F.........0xFE
0x81.........0x80.........0x7F
0x82.........0x81.........0x80
................................
DATA FF wird nie geschrieben + Read DATA wiederholt sich ab 0x80
Ich verstehe nicht so ganz wie dieses Problem zu Stande kommt, da es so scheint als wäre das highest value Bit immer gesetzt aber dann kommt der Ausnahmefall bei Adresse 0x81 wo auf einmal ein Wert von 7F gelesen wird...
Falls benötigt kann ich auch Teile meines Codes zeigen, aber da der Schreibwert korrekt funktioniert und der M95010 icht programmierbar ist, sollte das keine mögiche Fehlerquelle sein.

