Guten Abend, ich habe ein starkes Verständniss Problem: Ich habe den M24C64 EEPROM von ST an meinen Raspberry Pi angeschlossen und generell funktioniert lesen und schreiben auch. Allerdings habe ich Probleme mit der genauen Addresierung von Speicher dessen Adresse 0x1f übersteigt ! Ich nutze auf dem Raspberry Pi die I2C Tools um mit dem EEPROM zu kommunizieren. Um vom EEPROM am Port 1 mit der Adresse 0x50 den Speicher an der Adresse 0x00 0x10 mit dem Wert 0x40 zu beschreiben nutze ich folgenden Befehl. i2cset -y 1 0x50 0x10 0x09 0x40 i Mit dem Befehl i2cdump -y 1 0x50 i kann ich mir dann die ersten 16*16 Speicheradressen und deren Werte angucken. Wenn ich den zweiten Teil der Speicheradresse erhöhe (0x10,0x11 ...) dann verhält sich alles logisch nachvollziehbar und das byte wird halt eine "Stelle weiter gespeichert". Erhöhe ich aber den ersten Teil der Adresse (0x00 -> 0x01) dann speichert er den Wert quasi 16*8 Stellen weiter (bei Betrachtung durch i2cdump). Interpretier ich i2cdump falsch oder wie muss ich die Adresse angeben damit ich den gesamten Speicher nutzen kann und der nicht große Wertebereiche überspringt ? Hier der Datasheet: https://cdn-reichelt.de/documents/datenblatt/A300/ST24C32_ST24C64%23STM.pdf Hier eine Beispiel Ausgabe von i2cdump (nicht meine): 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 20: 8a 8b de bb c9 d8 d0 1d ff ff aa c1 9e c1 9e e3 30: ba cc a8 d8 b2 ed c2 e4 bb 3c 32 e1 e1 e1 00 00 40: 01 c3 00 00 00 00 40 50 2d 01 01 40 01 95 00 a3 50: 10 01 80 ff ff ff 00 00 11 ff ff ff ff ff ff ff 60: 8a 8b de bb c9 d6 d1 1d ff ff aa c1 9e c1 9e e3 70: ba cc a8 d8 b2 ed c2 e4 bb 3c 32 e1 e1 e1 00 00 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff a0: 8b 8b de bb c8 d9 d1 1d ff ff ab c1 9e c1 9e e3 b0: ba cc a8 d8 b2 ed c2 e4 bb 3c 32 e1 e1 e1 00 00 c0: 01 c3 00 00 00 00 40 50 2d 01 01 40 01 95 00 a3 d0: 10 01 80 ff ff ff 00 00 11 ff ff ff ff ff ff ff e0: 8a 8a de bb c9 d8 d1 1d ff ff aa c1 9e c1 9e e3 f0: ba cc a8 d8 b2 ed c2 e4 bb 3c 32 e1 e1 e1 00 00 Mfg Michi
rtfm Michael Snabred schrieb: > Um vom EEPROM am Port 1 mit der Adresse 0x50 den Speicher > an der Adresse 0x00 0x10 mit dem Wert 0x40 zu beschreiben nutze ich > folgenden Befehl. > > i2cset -y 1 0x50 0x10 0x09 0x40 i Adresse 0x00 0x10 ? i2cset [-y] i2cbus chip-address data-address value [mode] [mask] Michael Snabred schrieb: > Hier eine Beispiel Ausgabe von i2cdump (nicht meine): Warum?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.