Forum: Mikrocontroller und Digitale Elektronik [vb.net] ComPort Hex-Bytes einlesen und Zeichenfolge suchen


von dbcder (Gast)


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

von Peter Z. (hangloose)


Angehängte Dateien:

Lesenswert?

Wie sehen denn deine Daten im bufferArr aus?

von Schlaumaier (Gast)


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$

von Schlaumaier (Gast)


Lesenswert?

Schlaumaier schrieb:
> Textbox1.test = text$

Textbox1.TEXT = text$

Ich bin das nicht mehr gewöhnt. Ich liebe die Vorblendung. ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.