Forums Neueste Beiträge
 

ESC Sequenzen senden

24/11/2009 - 19:37 von Frank Müßner | Report spam
Hallo,

wie werden mit C# ESC Sequenzen gesendet?

möchte z.B. " ESC @ " an ein Display senden.

Ich versuche mit:

this.serialPort1.Open();

this.serialPort1.Write( X )

this.serialPort1.Close();


Bekomme aber nicht das gewünschte Ergebnis.

Wie werden die ESC Sequenzen richtig umgewandelt?

Gruß Frank M
 

Lesen sie die antworten

#1 Elmar Boye
25/11/2009 - 02:10 | Warnen spam
Hallo Frank,

"Frank Müßner" schrieb ...
wie werden mit C# ESC Sequenzen gesendet?

möchte z.B. " ESC @ " an ein Display senden.



ESC steht für 0x1b und muß auch so gesendet werden.
http://de.wikipedia.org/wiki/Americ...nterchange
Entweder legst Du Dir für die notwendigen Escape-Sequenzen
jeweils ein Byte-Array an. Für oben byte[] { 0x1b, 0x64 }

Oder, wenn alles andere ASCII Zeichen sind, sende das ESC-Zeichen
vorne weg und den Rest als Zeichenkette.
Dabei mußt Du das Encoding
auf ASCII (oder einen passenden 8-Bit-Zeichensatz) festlegen,
sonst werden NUL-Bytes eingestreut, womit die Sequenz kaputt geht.

this.serialPort1.Write( X )



Wenn Du Bytes übertràgst, verwende Write(byte[], offset, count),
da man bei SerialPort das WriteByte vergessen hat,
was Du Dir allerdings nachrüsten kannst.

Gruß Elmar

Ähnliche fragen