[vb.net] ComPort Hex-Bytes einlesen und Zeichenfolge suchen

Gast #7259194
Lesenswert?

Hi zusammen,

ich lese Daten von einem Gerät ein, das per RS232 verbunden ist.

Ich möchte die Daten im Hex-Format einlesen, z.B.
1
01 50 04 45 08
.

Nun möchte ich die Daten nach einer bestimmten Zeichenfolge durchsuchen, 
z.B. "50 04" (Hex Bytes). Wenn dies erkannt wird, soll ein Timer 
gestartet werden.

Mein Problem: beim einlesen mit "as Byte" oder "as Integer" kann man den 
Inhalt der Variable scheinbar nicht so einfach nach "50 04" durchsuchen.

Wenn ich aber als String einlese, kommt "ungültige Konvertierung in der 
Zeichenfolge".

Mein Code sieht aktuell so aus:
1
Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
2
        
3
        Dim bufferArr(SerialPort1.ReadBufferSize) As Byte
4

5
        Dim bytesRead As Integer = SerialPort1.Read(bufferArr, 0, bufferArr.Length)
6

7
        Dim hexString As String = ""
8
        For Each item As Byte In bufferArr
9
            hexString &= item.ToString("X") 'X2 auch versucht
10
        Next
11
        TextBox1.Text = hexString


Nun erscheinen in der TextBox (probeweise) die Daten nicht als Hex Bytes 
wie ich sie gerne hätte...kann mir jemand helfen?

Danke schon
Gast #7259388
Lesenswert?

https://learn.microsoft.com/de-de/dotnet/api/microsoft.visualbasic.conversion.hex?view=net-7.0

Zusammenrechnen.

Fertig.

Hier noch ein VB.net Code dazu.

https://www.vb-paradise.de/index.php/Thread/123914-String-to-Hex-Hex-to-String-ohne-b%C3%B6se-Funktionen/

Einfach gesagt, du wandelst das HEX in ein String um und machst dann 
folgendes:

Text$ = Text$ + umgewandelten_string$

Textbox1.test = text$

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