Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör leírja, hogyan használható a My.Computer.Ports a számítógép soros portjaiból származó sztringek fogadására a Visual Basicben.
Sztringek fogadása a soros portról
Inicializálja a visszatérési karakterláncot.
Dim returnStr As String = ""Határozza meg, hogy melyik soros port biztosítja a karakterláncokat. Ez a példa azt feltételezi, hogy az
COM1.A
My.Computer.Ports.OpenSerialPortmetódust használva szerezzen hivatkozást a portra. További információért lásd OpenSerialPort.A
Try...Catch...Finallyblokk lehetővé teszi, hogy az alkalmazás akkor is bezárja a soros portot, ha kivételt hoz létre. A soros portot módosító összes kódnak ebben a blokkban kell megjelennie.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 TryHozzon létre egy hurkot
Doa szövegsorok olvasásához, amíg nem áll rendelkezésre több sor.Do LoopHasználja a(z) ReadLine() metódust a következő elérhető szövegsor beolvasására a soros portról.
Dim Incoming As String = com1.ReadLine()Használjon egy
Ifutasítást annak meghatározására, hogy a ReadLine() metódus visszaadja-eNothing, ami azt jelenti, hogy nincs több szöveg. Ha visszatérNothing, lépjen ki aDohurokból.If Incoming Is Nothing Then Exit Do End IfAdjon hozzá egy blokkot
Elseaz utasításhoz azIfeset kezeléséhez, ha a sztring valóban be van olvasva. A blokk hozzáfűzi a soros portról érkező karakterláncot a visszatérési karakterlánchoz.Else returnStr &= Incoming & vbCrLfAdja vissza a sztringet.
Return returnStr
példa
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
Ez a példakód IntelliSense kódrészletként is elérhető. A kódrészletválasztóban a Kapcsolat és hálózatkezelés területen található. További információ: Kódrészletek.
A kód összeállítása
Ez a példa feltételezi, hogy a számítógép a következőt használja COM1: .
Robusztus programozás
Ez a példa feltételezi, hogy a számítógép a következőt használja COM1: . A nagyobb rugalmasság érdekében a kódnak lehetővé kell tennie, hogy a felhasználó kiválaszthassa a kívánt soros portot az elérhető portok listájából. A további információkért lásd: Az elérhető soros portok megjelenítése.
Ez a példa egy blokkot Try...Catch...Finally használ annak biztosításához, hogy az alkalmazás bezárja a portot, és hogy észlelje az időtúllépési kivételeket. További információ: Kipróbálás... Elkap... Végül nyilatkozat.