Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique explique comment utiliser My.Computer.Ports pour recevoir des chaînes à partir des ports série de l’ordinateur en Visual Basic.
Pour recevoir des chaînes à partir du port série
Initialisez la chaîne de retour.
Dim returnStr As String = ""Identifiez le port série qui doit fournir les chaînes. Cet exemple suppose qu’il s’agit de
COM1.Utilisez la
My.Computer.Ports.OpenSerialPortméthode pour obtenir une référence au port. Pour plus d’informations, consultez OpenSerialPort.Le
Try...Catch...Finallybloc permet à l’application de fermer le port série même s’il génère une exception. Tout le code qui manipule le port série doit apparaître dans ce bloc.Dim com1 As IO.Ports.SerialPort = Nothing Try com1 = My.Computer.Ports.OpenSerialPort("COM1") com1.ReadTimeout = 10000 Catch ex As TimeoutException returnStr = "Error: Serial Port read timed out." Finally If com1 IsNot Nothing Then com1.Close() End TryCréez une
Doboucle pour lire des lignes de texte jusqu’à ce qu’aucune ligne supplémentaire ne soit disponible.Do LoopUtilisez la ReadLine() méthode pour lire la ligne de texte disponible suivante à partir du port série.
Dim Incoming As String = com1.ReadLine()Utilisez une
Ifinstruction pour déterminer si la ReadLine() méthode retourneNothing(ce qui signifie qu’aucun texte supplémentaire n’est disponible). Si elle retourneNothing, quittez laDoboucle.If Incoming Is Nothing Then Exit Do End IfAjoutez un bloc
Elseà l'instructionIfpour gérer le cas si la chaîne est effectivement lue. Le bloc ajoute la chaîne du port série à la chaîne de retour.Else returnStr &= Incoming & vbCrLfRetourne la chaîne.
Return returnStr
Exemple :
Function ReceiveSerialData() As String
' Receive strings from a serial port.
Dim returnStr As String = ""
Dim com1 As IO.Ports.SerialPort = Nothing
Try
com1 = My.Computer.Ports.OpenSerialPort("COM1")
com1.ReadTimeout = 10000
Do
Dim Incoming As String = com1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming & vbCrLf
End If
Loop
Catch ex As TimeoutException
returnStr = "Error: Serial Port read timed out."
Finally
If com1 IsNot Nothing Then com1.Close()
End Try
Return returnStr
End Function
Cet exemple de code est également disponible en tant qu’extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans connectivité et mise en réseau. Pour plus d’informations, consultez Extraits de code.
Compilation du code
Cet exemple suppose que l’ordinateur utilise COM1.
Programmation robuste
Cet exemple suppose que l’ordinateur utilise COM1. Pour plus de flexibilité, le code doit permettre à l’utilisateur de sélectionner le port série souhaité dans une liste de ports disponibles. Pour plus d’informations, consultez Guide pratique pour afficher les ports série disponibles.
Cet exemple utilise un bloc Try...Catch...Finally pour s'assurer que l'application ferme le port et intercepte les exceptions de délai d'expiration. Pour plus d’informations, consultez Try...Catch...Finally, instruction.