학습
방법: Visual Basic에서 직렬 포트의 문자열 받기
이 항목에서는 Visual Basic에서 My.Computer.Ports
를 사용하여 컴퓨터의 직렬 포트에서 문자열을 받는 방법을 설명합니다.
반환 문자열을 초기화합니다.
Dim returnStr As String = ""
문자열을 제공해야 하는 직렬 포트를 확인합니다. 이 예제에서는
COM1
이라고 가정합니다.My.Computer.Ports.OpenSerialPort
메서드를 사용하여 포트에 대한 참조를 가져옵니다. 자세한 내용은 OpenSerialPort를 참조하세요.Try...Catch...Finally
블록을 사용하면 예외를 생성하는 경우 애플리케이션이 직렬 포트를 닫을 수 있습니다. 직렬 포트를 조작하는 모든 코드는 이 블록 안에 표시되어야 합니다.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 Try
줄이 더 이상 없을 때까지 텍스트 줄을 읽기 위한
Do
루프를 만듭니다.Do Loop
ReadLine() 메서드를 사용하여 직렬 포트에서 텍스트의 사용 가능한 다음 줄을 읽습니다.
Dim Incoming As String = com1.ReadLine()
If
문을 사용하여 ReadLine() 메서드가Nothing
(텍스트가 더 이상 없음)을 반환하는지 확인합니다.Nothing
이 반환되는 경우Do
루프를 종료합니다.If Incoming Is Nothing Then Exit Do End If
If
문에Else
블록을 추가하여 문자열을 실제로 읽는 경우를 처리합니다. 이 블록은 직렬 포트의 문자열을 반환 문자열에 추가합니다.Else returnStr &= Incoming & vbCrLf
문자열을 반환합니다.
Return returnStr
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
이 코드 예제는 IntelliSense 코드 조각으로 사용할 수도 있습니다. 코드 조각 선택에서는 연결 및 네트워킹에 있습니다. 자세한 내용은 코드 조각을 참조하세요.
이 예제에서는 컴퓨터가 COM1
을 사용 중이라고 가정합니다.
이 예제에서는 컴퓨터가 COM1
을 사용 중이라고 가정합니다. 유연성 향상을 위해 코드에서 사용자가 사용 가능한 포트 목록에서 원하는 직렬 포트를 선택할 수 있도록 해야 합니다. 자세한 내용은 방법: 사용할 수 있는 직렬 포트 표시를 참조하세요.
이 예제에서는 Try...Catch...Finally
블록을 사용하여 애플리케이션이 포트를 닫도록 하고 시간 초과 예외를 catch합니다. 자세한 내용은 Try...Catch...Finally 문을 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.
추가 리소스
설명서
-
방법: 직렬 포트로 문자열 보내기 - Visual Basic
자세한 정보: 방법: Visual Basic에서 직렬 포트로 문자열 보내기
-
방법: 사용할 수 있는 직렬 포트 표시 - Visual Basic
자세한 정보: 방법: Visual Basic에서 사용 가능한 직렬 포트 표시
-
.NET Framework의 포트 작업 - Visual Basic
자세한 정보: Visual Basic을 사용한 .NET Framework의 포트 작업