Vb.net vb比较来自串行端口的应答

Vb.net vb比较来自串行端口的应答,vb.net,Vb.net,如何通过比较REPLY Textbox OK和REF Textbox OK使结果Textbox显示通过 我的问题是结果文本框显示NG甚至回复文本框与REF文本框相同。它应该显示“通过结果”文本框 在有机会接收之前比较接收到的文本,在9600bps和串行端口开销下,单个字符的到达时间将大于1ms,但您的签入将在微秒内到达下一个语句 在处理DataReceived事件的过程中,您需要移动复选框,直到收到数据为止。我已通过添加另一个按钮更改了代码,该按钮将比较REPLYtxtbox和REFtxtbox

如何通过比较REPLY Textbox OK和REF Textbox OK使结果Textbox显示通过

我的问题是结果文本框显示NG甚至回复文本框与REF文本框相同。它应该显示“通过结果”文本框

在有机会接收之前比较接收到的文本,在9600bps和串行端口开销下,单个字符的到达时间将大于1ms,但您的签入将在微秒内到达下一个语句


在处理DataReceived事件的过程中,您需要移动复选框,直到收到数据为止。

我已通过添加另一个按钮更改了代码,该按钮将比较REPLYtxtbox和REFtxtbox,并在RESULTtxtbox中显示结果。结果仍然相同,在RESULTtxtbox@Art76那样的话请编辑问题,以包括各种控件的文本属性值。使用调试器获取实际值,不要依赖用户界面中的剪切和粘贴。设备传输、处理命令和返回回复需要时间。毫秒,你期望它在几分之一纳秒内发生。ReadExisting是一种危险的方法,尽管它准确地描述了它的功能。它只返回现有的数据,波特率为9600波特,通常只有1个字符。发送OK响应的设备通常允许使用ReadLine。
Imports System
Imports System.Threading
Imports System.IO.Ports
Imports System.ComponentModel

Public Class Form1
    Delegate Sub SetTextCallBack(ByVal [text] As String)

    Private Sub writeButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles writeButton.Click

        SerialPort1.Close()
        SerialPort1.PortName = "COM5"
        SerialPort1.BaudRate = "9600"
        SerialPort1.Open()
        SerialPort1.Write(inputTextBox.Text & vbCr)

        If REPLYtxtBox.Text = REFtxtBox.Text Then
            RESULTtxtBox.Text = "PASS"
        Else
            RESULTtxtBox.Text = "NG"
        End If

    End Sub

    Private Sub SerialPort1_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        ReceivedText(SerialPort1.ReadExisting())

    End Sub

    Private Sub ReceivedText(ByVal [text] As String)
        If Me.REPLYtxtBox.InvokeRequired Then
            Dim x As New SetTextCallBack(AddressOf ReceivedText)
            Me.Invoke(x, New Object() {(text)})
        Else
            Me.REPLYtxtBox.Text &= [text]
        End If
    End Sub
End Class
  SerialPort1.Write(inputTextBox.Text & vbCr)

  If REPLYtxtBox.Text = REFtxtBox.Text Then