-
-
Administrator
Robotik Visionär
Genau so ist es.
Wie schon gesagt: Weder Master noch Busteilnehmer schalten die Clock-Leitung auf High. Diese wird nur durch die Pullup´s auf High gelegt. Um ein Low Signal zu erzeugen wird dieser geringe Ruhestrom des Pullups auf Masse gezogen.
Um High zu erzeugen, schaltet der Master also quasi nur auf den Eingangsmode, dadurch wird er hochohmig.
Beim I2C Bus prüft der Master, nach der Umschaltung auf Eingang, ob denn nun die Leitung auch wirklich auf High ist. Wenn dies nicht der Fall ist weil ein Slave die Leitung ebenfalls auf Masse zieht, hängt er in einer Warteschleife, solange bis alle Slaves die Leitung frei geben (also ebenfalls auf High/hochomig) schalten.
Dadurch kann ein etwas langsamer Slave den Bus bremsen.
Die Frage ist somit perfekt gelöst
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen