Benutzer mit den meisten Antworten
SerialPort und VB 2008

Frage
-
Ich muß über den ComPort den Wert chr(130) senden.
Leider geht das nicht. Ich habe irgendwo gelesen, das nur
die Zeichen bis chr(127) mit VB 2008 funktionieren.
Wenn das der Fall ist, welche Möglichkeit gibt es?
Muss man zu einem Fremdhersteller ausweichen.
Das Wäre eine traurige Nachricht, und Microsoft
sollte schnellstens nachbessern.- Verschoben Kay GizaMicrosoft employee Freitag, 23. Oktober 2009 07:39 (Von:Aus der MSDN Hotline: Häufig gestellte Fragen und deren Antworten)
Antworten
-
Richtig ist, dass die Standard-Codierung von SerialPort eine ASCII-Codierung ist (7 Bytes, Maximalwert 127). Mit der "richtigen" Codierung klappt's auch mit 8-Bit-Werten. Eine Codierung, die da als Single-Byte-Codierung in Frage kommt, ist die westeuropäische ISO-Codierung ("iso-8859-1", Codepage 28591):
SerialPort1.Encoding = System.Text.Encoding.GetEncoding(28591)
Um nach diesem Teilerfolg eine mögliche Selbstüberlistung durch die der Chr()-Funktion zu Grunde liegende Codepage zu vermeiden, empfiehlt es sich, statt Chr() die Byte-Array-basierende Überladung von Write zu verwenden.
Viel Erfolg!
Mathias- Als Antwort vorgeschlagen Robert BreitenhoferModerator Samstag, 24. Oktober 2009 19:08
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 30. Oktober 2009 17:39
Alle Antworten
-
Richtig ist, dass die Standard-Codierung von SerialPort eine ASCII-Codierung ist (7 Bytes, Maximalwert 127). Mit der "richtigen" Codierung klappt's auch mit 8-Bit-Werten. Eine Codierung, die da als Single-Byte-Codierung in Frage kommt, ist die westeuropäische ISO-Codierung ("iso-8859-1", Codepage 28591):
SerialPort1.Encoding = System.Text.Encoding.GetEncoding(28591)
Um nach diesem Teilerfolg eine mögliche Selbstüberlistung durch die der Chr()-Funktion zu Grunde liegende Codepage zu vermeiden, empfiehlt es sich, statt Chr() die Byte-Array-basierende Überladung von Write zu verwenden.
Viel Erfolg!
Mathias- Als Antwort vorgeschlagen Robert BreitenhoferModerator Samstag, 24. Oktober 2009 19:08
- Als Antwort markiert Robert BreitenhoferModerator Freitag, 30. Oktober 2009 17:39
-
Hallo WaGr,
Lies auch die folgenden Artikel durch:
Serial COM Port Kommunikation mithilfe von Visual Basic .NET à http://www.innovatic.dk/knowledg/SerialCOM/SerialCOM.htm
SerialPort Encoding à http://blogs.msdn.com/bclteam/archive/2006/05/26/608377.aspx
Grüße,
Robert