Hallo Leute
Schon wieder ein Anfänger im Netz. Ich möchte ein Telegramm über eine RS232 Verbindung senden.
Das Telegramm hat ein Header von 6Byte und 1-200 Byte Daten.
Ich versuche Schrittweise dieses Vorhaben zu meistern.
Nun zu meiner Frage. Ich habe bereits erfolgreich Daten über eine Serielle Verbindung mit der SerialPort Klasse als String als Text und als Byte übertragung gemacht. Nun habe ich aber im Header ein 2Byte Feld, welches nciht funktionert. VisualStudio sagt immer er könne dieses char, ushort oder uint16 nicht als String unwandeln. Wer hat da einen Lösungsansatz?
Vielen Dank für die Mithilfe
Dies ist der Funktionierende Code ohne eben ein 2Byte. Ich versuchte es mit einen 2ten Array, jedoch die Funktion port.Write unterstützt eben das uint16 nicht. Auch veruchte ichn es schon mit convert.To.uint16().
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| namespace RS232 { class Program { public static void Main(string[] args) { byte[] array = new byte[4]; array[0] = 1; array[1] = 120; array[2] = 3; array[3] = 4; SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One); port.Open(); port.Write(array, 0, 4); port.Close(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } } |
Moderiert von
Christian S.: C#-Tags hinzugefügt