Wieso liefert i2cdetect eine „falsche“ Adresse

Bei den Experimenten mit dem SRF02 ist mir wieder einmal aufgefallen, dass mir der Befehl i2cdetect scheinbar falsche Werte liefert. So wurde mir bei dem SRF02, anstelle der eigentlich in der Werkseinstellung eingestellten Adresse „E0“, eine „70“ angezeigt. Nachdem auch bei der Änderung der Adresse des SRF02 nicht die eingegeben Werte (z.B. „EA“ -> „7A“) erschienen, ging es ans stöbern.

Nach etwas suchen bin ich dann auch fündig geworden. Beim i2cdetect wird das achte Bit, das sogenannte Least Significant Bit (LSB), weggelassen, da dies die Datenrichtung (Write/Read) anzeigt und für die eigentliche Adresse nicht relevant ist. Wendet man dieses Wissen für das obige Beispiel an, kommt folgendes dabei heraus:

Adresse_Hex_7Bit: 70
Adresse_Bin_7Bit: 1110000
Adresse_Bin_8Bit: 11100000
Adresse_Hex_8Bit: E0

Dieser Beitrag wurde unter Elektronik abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.