Hallo Robin1508!

Vorsicht! Der MAX485 kann nur Halbduplex. Das heißt: Während du etwas von einem Baustein aus zu den anderen Bausteinen sendest, kannst du nichts Empfangen. Und umgekehrt. Dafür brauchst du aber auch nur zwei Leitungen. Wenn du vier Leitungen zur Verfügung hast, dann kannst du mit MAX488 (und höher) gleichzeitig empfangen, während du etwas sendest. Nur wenn du solch einen Baustein und vier Leitungen einsetzt -- nur dann fühlt sich RS-485 in Bascom wie RS-232 an.

Wenn du nur zwei Leitungen verwendest und den MAX485 einsetzt, dann musst du zuerst über einen Pin des µC den MAX485 in den Sendemodus schalten. Dann sendest du deine Daten und dann setzt du den MAX485 in den Empfangsmodus. Dann kann dir der Client oder die Clients etwas zurück senden.

Wenn du kein Problem mit dieser Synchronisation hast, dann fährst du mit dem MAX485 nicht schlecht. Ansonsten würde ich zu einem höheren MAX48x-Baustein und vier Leitungen raten.

Außerdem musst du noch wissen, dass jeder Client die gleichen Daten empfängt. Du musst dich im Protokoll also selber darum kümmern, dass der richtige Client die Daten verarbeitet und du auch nur Antwort von dem Client bekommst, der vorher gefragt wurde. Dafür gibt es mehrere Protokolle. Aber das Einfachste ist wahrscheinlich, wenn du alle Clients die Kommunikation abhören lässt und im Übertragungsprotokoll zuerst übermittelst, für wen die Daten sind. Z.B. so:

Code:
Master an Client 1 --> "01-00:sende Status"
Client 1 an Master --> "00-01:OK"

Master an Client 2 --> "02-00:sende Temperatur"
Client 2 an Master --> "00-02:36.89"

Master an Client 3 --> "03-00:sende Luftdruck"
... Timeout
Master an Client 3 --> "03-00:ABBRUCH"
...
Diese Kommunikation bekommen zwar alle Clients mit und müssen sie auch komplett auswerten, aber alle hören auf das Kommando des Masters und stören sich somit nicht. Das ist zwar nicht ideal, aber in den meisten Fällen ausreichend. Dann gibt es noch Protokolle, die das Ganze ein wenig intelligenter machen. So, dass nicht jeder Client die ganze Kommunikation auswerten muss. Es gibt auch noch mehrere Möglichkeiten, die übertragenen Daten auf Übertragungsfehler hin zu überprüfen. Aber auch das ist eine Frage der Anwendung, ob das notwendig ist.

mfg
Gerold
:-)