nux
06.06.2004, 13:10
Hallo,
ich würde gerne meinen PC, bzw Roboter um einige Schnittstellen erweitern. Ist es möglich, die CControl so zu programmieren, dass
sie über die serielle Schnittstelle die Daten vom PC empfängt und
entsprechend verarbeitet und automatisch immer die Daten an den
PC zurückschickt.
Das ganz soll dann verschlüsselt/zusammengefügt geschehen.
ungefähr so:
Es werden in der CControl 8 Digitale Ausgänge und 8 Digitale Eingänge definiert.
ganz einfach konnte man das ja hintereinander schreiben, sprich so:
v1 = 255 '# das sind die 8 digitalen ausgänge (Ausgang 1 entspricht 2^0, Ausgang 2 entspricht 2^1, ...)
v2 = 255 '# Analoger Ausgang 1
v3 = 255 '# Analoger Ausgang 2
v4 = v1 xor v2 xor v3
dann sendet man einfach:
chr(v1) + chr(v2) + chr(v3) + chr(v4)
Die CControl entschlüsselt das und sendet so was ähnliches für die Eingänge zurück. evtl so:
v1 = 255 '# das sind die 8 digitalen Eingänge (Eingang 1 entspricht 2^0, Eingang 2 entspricht 2^1, ...)
v2 = 255 '# Analoger Eingang 1
vn = 255 '# Analoger Eingang n ....
v9 = 255 '# Analoger Eingang 8
v10 = v1 xor v2 xor ....
dann sendet man einfach wieder:
chr(v1) + chr(v2) + .......... + chr(v10)
Wenn man dann was empfängt (egal PC oder CC) wird der XOR-Wert mit dem Rest überprüft. Stimmt das Ergebniss, sind keine Fehler unterlaufen, wenn es Fehlerhaft ist, wird es einfach ignoiert.
Meint ihr das klappt?
Oder gibts da bessere, elegantere Lösungen?
Vielen Dank für eure Hilfe.
nux.
ich würde gerne meinen PC, bzw Roboter um einige Schnittstellen erweitern. Ist es möglich, die CControl so zu programmieren, dass
sie über die serielle Schnittstelle die Daten vom PC empfängt und
entsprechend verarbeitet und automatisch immer die Daten an den
PC zurückschickt.
Das ganz soll dann verschlüsselt/zusammengefügt geschehen.
ungefähr so:
Es werden in der CControl 8 Digitale Ausgänge und 8 Digitale Eingänge definiert.
ganz einfach konnte man das ja hintereinander schreiben, sprich so:
v1 = 255 '# das sind die 8 digitalen ausgänge (Ausgang 1 entspricht 2^0, Ausgang 2 entspricht 2^1, ...)
v2 = 255 '# Analoger Ausgang 1
v3 = 255 '# Analoger Ausgang 2
v4 = v1 xor v2 xor v3
dann sendet man einfach:
chr(v1) + chr(v2) + chr(v3) + chr(v4)
Die CControl entschlüsselt das und sendet so was ähnliches für die Eingänge zurück. evtl so:
v1 = 255 '# das sind die 8 digitalen Eingänge (Eingang 1 entspricht 2^0, Eingang 2 entspricht 2^1, ...)
v2 = 255 '# Analoger Eingang 1
vn = 255 '# Analoger Eingang n ....
v9 = 255 '# Analoger Eingang 8
v10 = v1 xor v2 xor ....
dann sendet man einfach wieder:
chr(v1) + chr(v2) + .......... + chr(v10)
Wenn man dann was empfängt (egal PC oder CC) wird der XOR-Wert mit dem Rest überprüft. Stimmt das Ergebniss, sind keine Fehler unterlaufen, wenn es Fehlerhaft ist, wird es einfach ignoiert.
Meint ihr das klappt?
Oder gibts da bessere, elegantere Lösungen?
Vielen Dank für eure Hilfe.
nux.