Ich weiss, das ist bestimmt die zigste Frage zum Thema. Egal, bin jetzt aber vollkommen durcheinander. Es geht um eine Display von EA, ein Oled 128-6. Nach Angabe des Herstellers hat es die Adresse 0x78. Ein anderes Programm in C funktioniert super damit. Jetzt möchte ich das Display mit Python betreiben. Also einfach mit einem Scanner die Adresse auslesen und es kommt was anderes: 0x3c - 60 - 1111 00 ??? 0x78 - 120 - 1111 000 (EA) Wie kann es sein das mir eine Adresse mit 6 Stellen ausgegeben wird obwohl sie nach Angabe des Herstellers doch 7 Stellen hat und damit funktioniert?
Der Bastler schrieb: > 0x3c - 60 - 1111 00 ??? Schiebst du die Bits einmal nach links und - voilá - schon hast du die gleiche (gleichwerte) Adresse. Nur eine Frage der Betrachtungsweise und Verarbeitungsweise. Der Bastler schrieb: > Also einfach mit einem Scanner die Adresse auslesen Ein Scanner liest dir nicht die Adresse deines Display aus sondern er findet an der Adresse xy ein I2C-Device mit dem du dann arbeite kannst. Der Bastler schrieb: > Ich weiss, das ist bestimmt die zigste Frage zum Thema. Ja. Kann man durch Suchen hier im Forum auch finden ohne die Frage zum zigsten Mal zu stellen. Der Bastler schrieb: > Egal, bin jetzt aber vollkommen durcheinander. Jaja, es ist Xmas, da kommt man schon mal ins Rotieren.
Der Bastler schrieb: > Wie kann es sein das mir eine Adresse mit 6 Stellen ausgegeben wird > obwohl sie nach Angabe des Herstellers doch 7 Stellen hat und damit > funktioniert? Es gibt bei der Darstellung einer I2C Adresse zwei Konventionen. https://evision-webshop.de/Total-Phase-Knowledge-Base/I2C-Slave-Adressierung-mit-7-Bit-8-Bit-und-10-Bit
Die reine I2C Adresse hat 7 Bit, also z.B. 0x3C. Das I2C Adressbyte hat in Bit0 das R/W Flag und dann in Bit 1..7 die Adresse. Die einen benutzen in ihrem API die Adresse, die anderen das ganze Adressbyte. Muss man in die Doku schauen und so hinnehmen. Das Adressbyte dann als (0x3C << 1) definieren damit deutlich ist was gemeint ist.
Der Bastler schrieb: > 0x3c - 60 - 1111 00 ??? > 0x78 - 120 - 1111 000 (EA) > Wie kann es sein das mir eine Adresse mit 6 Stellen > ausgegeben wird Diese Frage kann Dir nur ein Blick in den Quellcode Deines I2C Scanners beantworten. Aber laut Deiner zweiten Zeile scheint der Scanner ja auf der erwarteten Adresse auch ein Gerät zu finden, daß er mir EA identifiziert, das wäre ja Dein Display-Hersteller.
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.