正在等待SERIAL PORT VB.net的准确值

时间:2017-06-06 01:13:08

标签: .net vb.net serial-port microcontroller

我试图等待微控制器打印" OK"到串口,VB.net检查" OK"并将该值赋给字符串变量 - check_OK。我面临的第一个问题 - 它的数据接收事件处理程序我只是不知道如何使它检查串口的确切值。我使用Richtextbox1从串口保存ok然后尝试使其值= check_OK。我试过这样:

Public Class Form1
Dim check_OK As String
Dim OK_rs As Byte

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

End Sub
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    ReceivedText(SerialPort1.ReadExisting())
End Sub
Private Sub ReceivedText(ByVal [text] As String)
    If Me.RichTextBox1.InvokeRequired Then
        Dim x As New SetTextCallback(AddressOf ReceivedText)
        Me.Invoke(x, New Object() {(text)})

    Else
        Me.RichTextBox1.Text = ""
        Me.RichTextBox1.Text &= [text]
        If RichTextBox1.Text = "O" Or RichTextBox1.Text = "K" Then
            check_OK = check_OK & RichTextBox1.Text
        End If
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

这些串行通信问题通常可以分解为几个部分。由于微控制器是发送器,我要检查的第一件事是它是否正确发送。为此,请先连接到终端程序。这会将你的VB代码从图片中删除。

现在,如果终端程序从微控制器获得正确的输入,那么您刚刚证明系统的一半是正确的,然后您可以专注于VB端。分而治之。 :)