I2C Bausteine werden entweder hardwaremässig mit z.B. Jumpern
oder DIP-Switches (Mäuseklavier) adressiert
ein Baustein wäre z.B. der PCF8574 (einfachstes Beispiel),
oder
können auch softwareseitig adressiert werden,
hierzu muss zunächst der Baustein alleine
oder mittels eines spez. Jumpers für die Konfiguration
(Adressierung) vorbereitet werden,
als Beispiel hierfür kann ich den TMC222 nennen.


Die einzelnen Baugruppen können dann entweder auf einer Platine
parallel auf den I2C-Bus geschschaltet werden
oder es kann der I2C Anschluss einfach weiteregführt werden
(wie eine Perlenkette), wie in meinem Foto der
Schrittmotorsteuerung mit TMC222:

Im Bild die bunte Flachbandleitung:

Welche Adressen möglich sind,
ist immer aus den Datenblättern nachzulesen.


Ganz Wichtig ist dass alle I2C Bausteine eine eindeutige Adresse haben, sonst kann der I2C nicht funktionieren!
Eindeutig ist wörtlich zu nehmen,
jedes Gerät (Slave) MUSS eine eigene Adresse haben.

---
@shaun:
Deine Erklärung ist natürlich wichtig für das Protokoll auf den Leitungen,
und gehört auch zur Kategorie Grundlagen,

jedoch nehemen diverse I2C Routinen/Funktionen
z.B. in Bascom (I2Csend/I2Creceive) einem diese Arbeit ab.

Dann braucht man sich damit nicht unbedingt auseinandersetzten.
Tritt dann ein Problem auf dem Bus auf, kann der Fortgeschrittenen mit
Hilfe diverser Meßgeräte die Signalfolge und deren korrekheit
herausmessen.

Für Einsteiger sage ich nur, nehmt es als gegeben hin,
die Programmiertools nehmen Euch die Arbeit ab.

Seht zu dass Ihr zunächst mit Eurem Programmen zurecht kommt.

Ganz nach dem Motto: "Wir wissen nicht wie, aber es funktioniert"
---