Hallo, ich bin seit 2 Wochen (bald verzweifelnd)dabei ein Display EA DOGM204-A (Bezugsquelle Reichelt)über I2C per Arduino uno anzusteuern. Nun habe ich den Fehler gefunden, es funktioniert. Lt. EA Datenblatt sollten die Slaveadressen 0x78 oder 0x7A sein. Weit gefehlt. Tatsächlich sind bei mir diese Adressen 0x3C oder 0x3D, nach zuerst tagelanger Fehlersuche bei sich selbst - dann mit einem Scanner herausgefunden. Hätte ich gleich machen sollen, aber hinterher ist man immer schlauer. Ein anschließender Blick in das Datenblatt des Displaycontrollers SSD1803A (Seite 29) nennt auch die Adressen 0x3C bzw. 0x3D. Also nicht nur dem mitgelieferten EA Datenblatt vertrauen. Offensichtlich sind Module mit unterschiedlichen Slaveadressen im Umlauf. Ich gebe diesen Hinweis weiter, damit andere nicht auch in diese Falle tappen.
hängt es nicht eher mit deinem Verständnis des I2C Bytes zusammen? meistens wird das hinterste Bit für lesen und schreiben verwendet, somit sind die 7 vorderen Bits die Adresse. wenn du nun 0x3c und 0x3d um ein Bit hoch schiebst bekommst du ja 0x78 und 0x7A ... nur so ein gedanke ...
Das ist keine falsche Slave-Adresse, sondern das übliche Missverständnis mit der 7-Bit-Adresse, die bei 8-Bit-Darstellung mitsamt R/W-Bit um ein Bit nach links wandert.
... ihr habt recht. Ich bin auf dieses Missverständnis hereingefallen und war immer nur auf eine 7-Bit-Adresse fixiert. Im EA Datenblatt steht "Dem Display kann entweder die Slave Adresse 0x78 oder 0x78 zugeordnet werden". Das ist aber auch missverständlich. Es müsste besser heißen "SlaveAdresse mit R/W-Bit" und alles wäre klar. Danke für die Antworten.
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.