Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje, jak přijímat My.Computer.Ports řetězce ze sériových portů počítače v jazyce Visual Basic.
Pro příjem řetězců ze sériového portu
Inicializovat návratový řetězec.
Dim returnStr As String = ""Určete, který sériový port má poskytovat řetězce. Tento příklad předpokládá, že je
COM1.Použijte metodu
My.Computer.Ports.OpenSerialPortk získání odkazu na port. Další informace najdete v tématu OpenSerialPort.Blok
Try...Catch...Finallyumožňuje aplikaci zavřít sériový port, i když vygeneruje výjimku. V tomto bloku by se měl zobrazit veškerý kód, který manipuluje s sériovým portem.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 TryVytvořte smyčku
Dopro čtení řádků textu, dokud nebudou k dispozici žádné další řádky.Do LoopPoužijte metodu ReadLine() ke čtení dalšího dostupného řádku textu ze sériového portu.
Dim Incoming As String = com1.ReadLine()IfPomocí příkazu určete, zda ReadLine() metoda vrátíNothing(což znamená, že není k dispozici žádný další text). Pokud se vrátíNothing, pak ukončete smyčkuDo.If Incoming Is Nothing Then Exit Do End IfElsePřidejte doIfpříkazu blok pro zpracování případu, pokud je řetězec skutečně přečten. Blok připojí řetězec z sériového portu k návratovém řetězci.Else returnStr &= Incoming & vbCrLfVrať řetězec.
Return returnStr
Příklad
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
Tento příklad kódu je také k dispozici jako fragment kódu IntelliSense. V nástroji pro výběr fragmentu kódu se nachází v části Připojení a sítě. Další informace najdete v tématu fragmenty kódu .
Kompilace kódu
Tento příklad předpokládá, že počítač používá COM1.
Robustní programování
Tento příklad předpokládá, že počítač používá COM1. Aby byl kód flexibilnější, měl by uživateli umožnit vybrat požadovaný sériový port ze seznamu dostupných portů. Další informace naleznete v tématu Postupy: Zobrazení dostupných sériových portů.
Tento příklad používá Try...Catch...Finally blok, aby se zajistilo, že aplikace port zavře a zachytí všechny výjimky časového limitu. Další informace naleznete v tématu Vyzkoušet... Chytit... Příkaz Finally.