Moin, mach es folgendermaßen:
Du sendest ein Byte, indem alle Informationen drinstecken, jenachdem, ob ein Bit 1 ist, ist der entsprechende Pin 1 oder 0. Wie du die Infos ins Byte bekommst ist dir überlassen.
wenn Schalter1 an ist, dann setze Bit0 im Pufferbyte:
if(schalter=1) then puffer = puffer or 1
das machst du mit allen wichtigen Werten und dann wird das an den Rechner geschickt:
sendebinär puffer
Wenn du die Infos erneut schicken willst, vorher den Puffer wieder auf 0 stellen, einmal gesetzt 1 werden sonst niewieder 0.
Im Rechner machst du das dann, indem du jedes einzelne Bit auswertest:
dim led1
dim led2
dim schalter1
dim puffer as string *1
puffer = com_lesen()
'jetzt maskieren:
if puffer and 1 then led1 = "an" else "aus"
if puffer and 2 then led2 = "an" else "aus"
if puffer and 4 then schalter1 = "an" else "aus"
etc.
Edit: PhyMaLehrer
-1 wird auch benutzt, um zu sagen, dass ein Wert wahr (ungleich 0) ist. Das ist in Basic oft üblich. Ich interpretiere das also als -1 (in worten: minus 1) und nicht als das Zeichen "-" und "1".
Zudem weiß ich nicht, ob die Zeichen || überhaupt zum String gehören. Und wozu mehr Platzt benötigen, als notwendig?
Also, nicht das du mich falsch verstehst, deine Lösung funktioniert ebenso und ich will das niemandem ausreden
Edit: hm. vielleicht noch if puffer and 1 klammern, damit der kompiler nicht if (puffer = wahr) und (1 = wahr) daruas macht
if (puffer And 1) then ist sicherer.
[ Diese Nachricht wurde geändert von: DonComi am 12 Okt 2007 19:06 ]
[ Diese Nachricht wurde geändert von: DonComi am 12 Okt 2007 19:09 ]