Я разрабатываю программное обеспечение, используя 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
Это тоже не работает, я ничего не получаю от своего программного обеспечения