Zitat Zitat von i_make_it Beitrag anzeigen
Oder erher nicht.

Wenn der Slave einfach antwortet wann es ihm beliebt, kann er auch genau in dem Moment antworten in dem der Master was sendet.
Das gibt dann eine Kollision wie wir sie von Ethernet kennen (Stichwort CSMA/CD = Carrier Sense Multiple Access / Colission Detected).
Also Entweder eine Art Interrupt Leitung pro Slave die dem Master signalisiert ob der jeweilige Slave grade ein wichtiges Event hat oder ein Master/Slave Bus, bei dem der Master zyklisch pollt und die Slaves fragt ob sie was zu melden haben.

Es gibt noch die Möglichkeit nach CAN Bus Art. Da kann jeder jederzeit senden. Jedes gesendete Bit wird zeitgleich vom Sender selber gelesen, wird es als überschrieben erkann, geht der Sender vom BUS und sendet neu wenn der Bus frei ist. Das klappt deshalb weil der BUS mittels Pull-Up hochgezogen wird und der Sender diesen auf L zieht, die Daten also L Aktiv sind ein H wird nicht gesendet das ersetzen die Pull-Up.

Der CAN Bus kann aber auch per Polling arbeiten und trotzdem während dessen von Sendern höherer Priorität (mehr L Pegel) unterbrochen werden, so wird gewährleistet das wichtige Meldungen Vorrang behalten. Ähnliches klappt auch mir RS232 und CAN bus Treibern wenn man sich das in ASM selber "Bastelt". Es muss halt JEDES Bit(vom Sender) auf überschrieben geprüft werden.

http://de.wikipedia.org/wiki/Controller_Area_Network

Gruß Richard