Freigeben über


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

  1. Initialisieren Sie die Rückgabezeichenfolge.

    Dim returnStr As String = ""
    
  2. Bestimmen Sie, welcher serielle Anschluss die Zeichenfolgen bereitstellen soll. In diesem Beispiel wird davon ausgegangen, dass dies COM1 ist.

  3. 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
    
  4. Erstellen Sie eine Do-Schleife für das Lesen von Textzeilen, bis keine Zeilen mehr verfügbar sind.

    Do
    Loop
    
  5. Verwenden Sie die ReadLine-Methode, um die nächste verfügbare Textzeile vom seriellen Anschluss zu lesen.

    Dim Incoming As String = com1.ReadLine()
    
  6. 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
    
  7. 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
    
  8. 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

Referenz

My.Computer.Ports-Objekt

System.IO.Ports.SerialPort