Как прочитать данные ответа за определенное время и проверить данные? - PullRequest
0 голосов
/ 03 августа 2020

Я разрабатываю программное обеспечение, используя Visual Basic для настройки параметров моего устройства. Я пишу код для приложения windows Forms в .vb. Здесь я должен отправить данные на устройство и получить ответ от устройства. Если я не получал требуемый ответ от устройства в течение определенного времени, я должен вывести сообщение.

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

Я помещу образец кода, который я написал.

  Private Sub BtnPub_Click(sender As Object, e As EventArgs) Handles BtnPub.Click
        Dim Data As String
        Timer1.Start()
        SerialPort1.Write("$PUB " & TbPub.Text & Environment.NewLine)
        SerialPort1.ReadTimeout = 2000
        Timer1.Start()
        Try
            Data = SerialPort1.ReadLine()

        Catch ex As TimeoutException
            MessageBox.Show("No reponse", "BYE")
        Catch ex As Exception

        End Try

Приведенный выше код является грубая ошибка, но это моя попытка. И я девственник в VB.

EDIT

   Private Sub BtnPub_Click(sender As Object, e As EventArgs) Handles BtnPub.Click
        Dim Data As String
        SerialPort1.ReadTimeout = 2000
        SerialPort1.Write("$PUB " & TbPub.Text & Environment.NewLine)
        Try
            Data = SerialPort1.ReadLine()
            If Data.Contains("OK") Then
                MessageBox.Show("SUCCESS", "Success")
            End If

        Catch ex As TimeoutException
            MessageBox.Show("No reponse" & Environment.NewLine & ex.ToString(), "BYE")
        Catch ex As Exception
            MessageBox.Show(ex.ToString(), "BYE")

        End Try



    End Sub

Это тоже не работает, я ничего не получаю от своего программного обеспечения

...