C#: Über seriellen Port Hexzahl senden

Gast #1028795
Lesenswert?

Hallo

Ich habe da ein Problem mit dem SerialPort in C#.

Mit der Anweisung:
1
SerialPort.Write("Hello");

kann ich problemlos Strings über die serielle Schnittstelle meines 
Computers senden. Nun habe ich jedoch das Problem, dass ich einen 
Hexwert senden will, das Argument der Methode Write() jedoch vom Typ 
String sein sollte (oder char[] / byte[] was mir auch nicht hilft).

Mit
1
SerialPort.Write("\x03");

kann ich zwar den Hexwert 0x03 senden, aber dieser Kniff funktioniert 
nur für fixe Werte. Wenn ich aber eine Integer (oder Byte) Variable 
senden will funktioniert das nicht mehr. Und eine Konvertierung mit
1
int Zahl = 5;
2
string Zeichen = Convert.ToString(Zahl);

liefert mir dann nicht die Hex5 sondern eine ASCII "5".


Wie ist sowas dennoch möglich?
Gast #1028881
Lesenswert?

Versuchs mal mit einem cast, also z.B. (char)Zahl und dann dieses dem 
String hinzuzufügen.
Kannst natürlich auch mit Byte-Arrays arbeiten und dann diese mit der 
Write-Methode abschicken; würde ich empfehlen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren