Ich versuche zu warten, Mikrocontroller drucken "OK" auf Serial Port, und VB.net überprüfen Sie, dass "OK" und diesen Wert Zeichenfolge Variable zuweisen - check_OK. Das erste Problem, mit dem ich konfrontiert wurde - seine Daten empfangen Event-Handler Ich weiß nur nicht, wie man es auf den genauen Wert von der seriellen Schnittstelle überprüfen. Ich habe Richtextbox1 verwendet, um OK von der seriellen Schnittstelle zu speichern und dann den Wert = check_OK zu setzen. Ich probierte so:Warte auf den genauen Wert von SERIAL PORT VB.net
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
ReadExisting() ist nie sehr hilfreich, um dies richtig zu machen. Berücksichtigen Sie ReadTo ("OK") stattdessen. –