Ich glaube ihr versteht das mit den verschiedenen Adresse falsch. Adressen gibt es z.B. bei I2C, dort kann man nur mit dem Gerät sprechen wenn man die Adresse hat.
Die Sensoren benutzen aber die Serielle Schnittstelle um die Daten zu transportieren. Dort gibt es keine Adressen sondern einen Empfänger und einen Sender. Wenn man nun mehrere Sender an deb Pin des Empfängers anschließt und diese lustig durcheinanderfunken, dann kommen keine korrekten Datenpakete mehr an, sondern ein gewurschtel aus verschiedenen Datenpaketen.
Jeder Sensor hat eine ID, das hat aber nichts damit zutun, dass man den einzeln ansprechen kann.
Das sieht dann z.B. so aus:
[START BYTE][SENSOR ID][DATEN 1][DATEN 2][STOP BYTE]
Man kann dann aus der Sensor ID auslesen was für Daten grad reinkommen. Wenn jetzt aber 2 gleichzeitig Senden könnte sowas bei rauskommen:
[START BYTE][SENSOR ID][DATEN 1][START BYTE][DATEN 2][SENSOR ID][STOP BYTE][DATEN 1][DATEN 2][STOP BYTE]
Damit kann der Empfänger aber nichts anfangen.
Das ist so nicht korrekt! - zumindest für den S.PORT nicht!
Die serielle Schnittstelle ist zu einem 1-Draht-Datenbus zusammengeschaltet (wired-or) und ALLE! Teilnehmer (Empfänger + Sensoren) hängen paralell an diesem 1-Draht-Bus.
Daher kann man auch weitere Sensoren per Y-Kabel an diesen Bus anschließen - auch wenn das kürzlich durch Helle höchstselbst anders dargestellt wurde (evtl. gilt das für das alte Protokoll der D Empfänger, damit habe ich mich noch nicht beschäftigt).
Der Empfänger ist Bus-Master, er sendet regelmäßig Sensoradressen auf den Bus (Request).
Alle Sensoren lesen diese Adresse mit. Passt die Adresse zur eigenen Sensoradresse, so antwortet der Sensor in einem definierten Zeitfenster mit seinen Sensordaten.
Haben nun zwei Sensoren die gleiche Adresse, so antworten Sie (fast) gleichzeitg und es kommt dadurch zu Datenmüll auf dem Bus. Ein Sensor, der nicht über seine Adresse angesprochen wird, sendet auch nichts!
Es handelt sich also schon um eine Bus-Adresse ganz ähnlich einer I²C Adresse...
StompSC