我想从串行端口接收数据,当我接收它时,每个数据都从新行开始,我希望旧数据由新行更改

时间:2019-06-15 10:22:04

标签: vb.net visual-studio-2010 serial-port

从标签中的串行端口接收数据时,它从新行开始。我希望将旧数据替换为新数据。

 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        myPort = IO.Ports.SerialPort.GetPortNames()
        ComboBox1.Items.AddRange(myPort)

        closeButton.Enabled = False

    End Sub
 Private Sub SerialPort1_DataReceived(sender As System.Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        ReceivedText(SerialPort1.ReadExisting())
    End Sub
 Private Sub ReceivedText(ByVal [text] As String) 'input from ReadExisting
        If Me.Label1.InvokeRequired Then
            Dim x As New SetTextCallback(AddressOf ReceivedText)
            Me.Invoke(x, New Object() {(text)})
        Else
            Me.Label1.Text &= [text] 'append text
        End If
    End Sub

https://cloud.mail.ru/public/5qLo/5gHS6Pazw 这是屏幕截图

1 个答案:

答案 0 :(得分:0)

如果您希望新数据替换标签文本中的旧数据,不是仅将&从附加到文本的行中删除,而是替换为新文本吗? / p>

我不熟悉串行端口读取器如何发送数据-您可能必须将传入的数据构建为缓冲区字符串,搜索新行并手动分割字符串,但这应该非常简单。 / p>