das TGM in Wien
Ahhh, ein Feind ^_^. Nö, Scherz, ich studiere dann nur so ungefähr 1km von dir Weg (Technikum Wien) . Kenn das Problem mit'm "So und nun löst schön mal dieses Problem" nur zu genüge (auch wenn ich noch nicht bei meiner Dimplomarbeit sitzte...

>Frage 1: ID-Sender (Empfänger): ist das dann jeweils eine eigene Funktion???
>Falls ja, nach was oder wie vergeb ich die ID.
>Die ID ja dann im Protokoll nix anderes als z.B. 0x01, 0x02,...
>Nur ich kann mir in aller Welt nicht vorstellen wie ich diese ID z.B meinem Master vergebe (programmiere).
>Wie sagt man, du bist Master mit ID 0x01, du bist Slave (von mir aus >EKG) mit der ID 0x02????

Die ID eine eigene Funktion? Die ID,die du da bekommst ist ein Byte, eine Zahl. Also jein, du kannst eine Funktion schreiben, die das ID des Empfängers (Senders) vor dem Senden generiert und diesen in den Frame packt, beziehungsweise diesen Byte aus dem Frame extrahiert und ihn mit der eigenen ID gegenprüft. Ist aber meiner Meinung nach nicht zwingend notwendig.

Also am einfachsten wäre es, wenn du die ID als Konstante fest in den µC reinprogrammierst. Danach würde der Master zum Beispiel die ID 0x01 haben, die EKG vllt. 0x02, der nächste 0x03 und so weiter. Wenn jetzt der Master etwas an den EKG-Slave sendet, schreibt er halt als erstes Byte "0x01" in den FM, anschließend "0x02" und danach die wirkliche Nachricht.

Interessant ist noch die Idee, dass der Master die IDs der Slave nicht fest hineinprogrammiert hat, sondern beim Starten auf alle IDs ein "Hallo, bist du da?"-Message (=Ping) schickt. Der Slave antwortet danach mit seiner Funktion (also halt ob EKG, Atmungsmesser, etc.) und der Master speichert diese ab. Hat seine Vorteile (wenn du z.B.: einen neuen Slave einfügst, musst du nur einen neuen "Funktionsteil" in dem Master einfügen und dass, der Master nicht stockt, wenn du zum Beispiel den Atmenfrequenz-Slave nicht einschaltest, Nachteil halt das Daten-Overhead beim Starten und der Programmieraufwand.

Halt, wenn du in C porgammierst ist das am Einfachsten mit einem define zu lösen, also halt "#define myID 0x01" und dann immer abfragen, ob die Empfangene ID gleich myID ist.

Hoffentlich war ich nicht zu verwirrend, wenn ja, dann bitte sagen und ich werd versuchen mich zu bessern
MfG
Mobius