Versuchen wir's

TWI Part I
Die Adressen weißt du, weil jeder I2C-Chip das in der Beschreibung stehen hat. Ist wie mit einer Internet URL. Die MUSST du wissen, sonst geht nix.

Der Kompass hat zB normalerweise die Adresse &HC0 (192)
Der LM75 (Temperatur) hat z.B &H90 (144)
Bei manchen der I2C Geräte kann man die Adresse auch ändern bzw. modizieren

Genaugenommen hat jeder I2C Chip aber zwei Adressen:
bei der geraden adresse ( &HC0) will man was zum Slave schicken,
bei der ungeraden ( &HC1) will man vom gleichen Gerät Daten abholen.
(in den Beschreibungen steht aber immer nur die gerade adresse)

ein Sonderfall ist die Adresse &H00 (0). Das ist eine "Broadcast"-Adresse, d.h. das geht an alle (aber nicht alle hören darauf)
beim TWI-Protocol heißt das "GENERAL CALL"

Schreiben oder Lesen:
Der Master schreibt IMMER (Start) und die Adresse, erst danach ist ein Unterschied.
Beim Schreiben schickt er den Takt und die Daten
Beim Lesen schickt er nur den Takt und liest die Daten

(to be continued)