Gewusst wie: Empfangen von Zeichenfolgen von seriellen Anschlüssen in Visual Basic
Aktualisiert: November 2007
In diesem Thema wird beschrieben, wie in Visual Basic mit My.Computer.Ports Zeichenfolgen von den seriellen Anschlüssen des Computers empfangen werden.
So empfangen Sie Zeichenfolgen vom seriellen Anschluss
Initialisieren Sie die Rückgabezeichenfolge.
Dim returnStr As String = ""
Bestimmen Sie, welcher serielle Anschluss die Zeichenfolgen bereitstellen soll. In diesem Beispiel wird davon ausgegangen, dass dies COM1 ist.
Verwenden Sie die My.Computer.Ports.OpenSerialPort-Methode, um einen Verweis auf den Anschluss abzurufen. Weitere Informationen finden Sie unter My.Computer.Ports.OpenSerialPort-Methode.
Der Using-Block ermöglicht der Anwendung, den seriellen Anschluss auch dann zu schließen, wenn dies eine Ausnahme generiert. Code, der den seriellen Anschluss konfiguriert, sollte vollständig innerhalb dieses Blocks oder eines Try...Catch...Finally-Blocks stehen.
Using com1 As IO.Ports.SerialPort = _ My.Computer.Ports.OpenSerialPort("COM1") End Using
Erstellen Sie eine Do-Schleife für das Lesen von Textzeilen, bis keine Zeilen mehr verfügbar sind.
Do Loop
Verwenden Sie die ReadLine-Methode, um die nächste verfügbare Textzeile vom seriellen Anschluss zu lesen.
Dim Incoming As String = com1.ReadLine()
Bestimmen Sie mit einer If-Anweisung, ob die ReadLine-Methode Nothing zurückgibt (d. h., dass kein weiterer Text verfügbar ist). Wenn Nothing zurückgegeben wird, beenden Sie die Do-Schleife.
If Incoming Is Nothing Then Exit Do End If
Fügen Sie in die If-Anweisung einen Else-Block ein, um den Fall zu behandeln, dass die Zeichenfolge tatsächlich gelesen wird. Der Block fügt die Zeichenfolge vom seriellen Anschluss an die Rückgabezeichenfolge an.
Else returnStr &= Incoming & vbCrLf
Geben Sie die Zeichenfolge zurück.
Return returnStr
Beispiel
Function ReceiveSerialData() As String
' Receive strings from a serial port.
Dim returnStr As String = ""
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1")
Do
Dim Incoming As String = com1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming & vbCrLf
End If
Loop
End Using
Return returnStr
End Function
Dieses Codebeispiel ist auch als IntelliSense-Codeausschnitt verfügbar. Sie finden das Element in der Codeausschnittauswahl unter Connectivity and Networking. Weitere Informationen finden Sie unter Gewusst wie: Einfügen von Ausschnitten in den Code (Visual Basic).
Kompilieren des Codes
In diesem Beispiel wird davon ausgegangen, dass der Computer COM1 verwendet.
Robuste Programmierung
In diesem Beispiel wird davon ausgegangen, dass der Computer COM1 verwendet. Für eine höhere Flexibilität sollte dem Benutzer die Möglichkeit zur Auswahl des gewünschten Anschlusses aus einer Liste freier Anschlüsse gegeben werden. Weitere Informationen finden Sie unter Gewusst wie: Anzeigen von verfügbaren seriellen Anschlüssen in Visual Basic.
In diesem Beispiel wird mithilfe eines Using-Blocks sichergestellt, dass die Anwendung den seriellen Anschluss auch dann schließt, wenn eine Ausnahme ausgelöst wird. Weitere Informationen finden Sie unter Using-Anweisung (Visual Basic).
Siehe auch
Aufgaben
Gewusst wie: Wählen mit Modems an seriellen Anschlüssen in Visual Basic
Gewusst wie: Senden von Zeichenfolgen zu seriellen Anschlüssen in Visual Basic
Gewusst wie: Anzeigen von verfügbaren seriellen Anschlüssen in Visual Basic