я хочу получать данные из последовательного порта, и когда я получаю его, все данные начинаются с новой строки, и я хочу, чтобы старые данные были заменены новыми - PullRequest
0 голосов
/ 15 июня 2019

При получении данных из последовательного порта в метке они начинаются с новой строки. Я хочу, чтобы старые данные были заменены новыми.

 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 голосов
/ 03 июля 2019

Если вы хотите, чтобы новые данные заменили старые данные в тексте вашей метки, разве это не просто случай удаления & из строки, которая добавляет его к тексту, вместо этого он заменяет?

Я не знаком с тем, как считыватель последовательного порта отправляет данные - возможно, вам придется встроить входящие данные в строку буфера, найти новую строку и вручную разбить строку, но это должно быть довольно просто сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...