В основном через каждые 2 секунды я получаю значения в 2 десятичной цифре с помощью устройства с использованием последовательного соединения, поэтому я преобразовал каждый байт в символ, а затем конкатенирован со вторым символом (байтом), который был получен через последовательный порт, а затем назначен к одному текстовому блоку 4 последовательно (MB, GC, INS, OU), так что происходит, когда каждый раз значения обновляются в текстовом поле MB и OU, но не в другом текстовом поле. Поэтому, если кто-то может помочь мне в этой логике. (Я новичок в vb, поэтому старайтесь как можно более изобретательно).Помощь многопоточности в VB.NET
Код:
Private Sub SerialPort1_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
cc = Chr(SerialPort1.ReadByte())
dd = Chr(SerialPort1.ReadByte())
ee = cc + dd
ReceivedText(ee)
End Sub
Private Sub ReceivedText(ByVal [text] As String) 'input from ReadExisting
If c = 0 Then
If Me.MB.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.MB.Text = [text] 'append text
End If
c = 1
ElseIf c = 1 Then
If Me.GC.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.GC.Text = [text] 'append text
End If
c = 2
ElseIf c = 2 Then
If Me.OU.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.OU.Text = [text] 'append text
End If
c = 3
ElseIf c = 3 Then
If Me.INS.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.INS.Text = [text] 'append text
c = 0
End If
End If
End Sub
с (целым числом = 0 (по умолчанию)) используются в качестве счетчика поэтому каждый раз, увеличивает его я могу записать новые данные в новое текстовое поле, CC дд и Й объявлены в виде строки. –
@MihirGurjar, то я бы предложил вам переименовать «c» в textboxCounter –