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.
.
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