Abend zusammen,
ich fasse mich kurz:
Ich soll eine Software in VB.net für einen Ein-Platinen-PC (Toradex
Colibri) schreiben, auf dem Windows CE läuft, daher muss ich das ganze
im Compact Framework machen, und die letzte Visual Studio Version
nutzen, die das unterstützt (2008).
Die Software soll nur mit einem anderen Gerät per RS232 kommunizieren,
eigentlich was ganz einfaches.
So, nun erwartet dieses Gerät die Daten im HEX Format, und so liegen sie
mir auch zum einbauen vor.
Nach einigen erfolglosen Versuchen habe ich festgestellt, dass nur wie
folgt die Daten tatsächlich im HEX Format ankommen, und das andere Gerät
dann auch reagiert. Einfach
1 | "SerialPort1.WriteLine ("11 aa bb")"
|
sorgt dafür dass das Gerät nicht reagiert.
Hingegen funktioniert es mit folgender Methode einwandfrei:
1 | Dim DieDaten() As Byte = {&H00, &Haa, &Hbb}
|
2 |
|
3 | SerialPort1.Write(DieDaten, 0, 2
|
Nun ist es aber so, dass die Befehle an das Gerät, die ich aus einer
Textdatei für die einzelnen Buttons der Software übernehmen muss,
teilweise sehr lang sind. Und dann einzeln immer alles hinter "&Hxx"
hängen, ist sehr aufwendig. Noch dazu Muss beim ".Write" immer "0, xy",
also beginne mit null, sende bis zum Schluss dazu, heißt es muss gezählt
werden, wie viele "&Hxx" es nun tatsächlich gibt.
Während
1 | SerialPort1.Write(data, 0, data.Length)
|
bei VS2019 / "normalem" Framework funktioniert, kommt VS2008 / Compact
Framework damit nicht zurecht, und ich muss "zählen".
Gibt es eine Lösung um die zu sendenden Daten einfach per Copy-Paste
einzfügen, ohne "&Hxx"? Wie gesagt, wenn ich die zu sendenden Daten
einfach mit
1 | "SerialPort1.WriteLine ("11 aa bb")"
|
sende, werden sie scheinbar falsch formatiert o.ä. und das Gerät
reagiert nicht darauf.
Ich kann leider nicht ändern dass mit Compact Framework und Visual
Studio 2008 gearbeitet werden muss.
Vielleicht hat ja jemand eine Idee
MFG