Salve,
sto facendo un programmino che comunica con un dispositivo via porta seriale.
Funziona bene la trasmissione da e verso...
codice:
Private Sub SerialPort_DataReceived(...) Handles SerialPort1.DataReceived
Dim bytes As Integer = SerialPort1.BytesToRead
'create a byte array to hold the awaiting data
Dim comBuffer As Byte() = New Byte(bytes - 1) {}
'read the data and store it
SerialPort1.Read(comBuffer, 0, bytes)
'display the data to the user
RichTextBox1.AppendText(ByteToHex(comBuffer))
Private Function ByteToHex(comByte As Byte()) As String
'create a new StringBuilder object
Dim builder As New StringBuilder(comByte.Length * 3)
'loop through each byte in the array
For Each data As Byte In comByte
'convert the byte to a string and add to the stringbuilder
builder.Append(Convert.ToString(data, 16).PadLeft(2, "0"c).PadRight(3, " "c))
Next
'return the converted value
Return builder.ToString().ToUpper()
End Function
Ora mi sono bloccata su un punto, riesco a fare una richiesta al dispositivo ed esso correttamente mi risponde, ed ho in esadecimale: FE FE 00 AA 00 11 22 FD.
Io dovrei prendere dall'array solo AA 00 11 22, come faccio?