1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
serialport.NewLine() = ChrW(13)
While serialport.IsOpen
Dim rx = serialport.ReadLine()
Dim bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(rx)
If bytes.Count <> 5 OrElse bytes(0) <> &H0D Then Continue While 'trame érronée on ne la traite pas
Dim v1 = BitConverter.ToInt16(bytes, 1)
Dim v2 = bytes(3)
Dim v3 = bytes(4)
' via le backgroundworker on est sur un thread secondaire, qui n'a pas le droit de modifier l'interface, donc il faut passer par me.invoke
Me.Invoke(Sub()
Me.label1.text = v1.ToString
' ...
End Sub)
End While |
Partager