2011-05-10 3 views
1

저는 스위치가 닫힐 때 이벤트를 트리거해야하는 프로젝트에서 작업하고 있습니다. 직렬 포트에서 제어 라인을 사용하고 스위치가 닫혔는지 여부를 읽을 수 있다는 것을 이해합니다. 스위치에 핀을 연결하는 방법을 찾았지만 스위치 상태를 읽는 방법에 대한 예제 코드를 찾을 수 없었습니다..net을 사용하여 직렬 포트 제어 라인 상태를 읽는 방법

회로도가 여기에 있습니다 : http://irtel.uni-mannheim.de/pxlab/doc/manual/Devices.html

사람은 당신이 vb.net을 사용할 수 또는 C#이 제어 라인 중 하나의 스위치의 상태를 읽는 방법을 어떤 아이디어가?

답변

1

핀 변경 이벤트 핸들러는이 포트가 열려 있다고 가정

Dim WithEvents sp As New IO.Ports.SerialPort 
Private Sub sp_PinChanged(sender As Object, _ 
          e As System.IO.Ports.SerialPinChangedEventArgs) Handles sp.PinChanged 
    'look at e.EventType or check states 
    Select Case True 
     Case sp.CDHolding 
     Case sp.CtsHolding 
     Case sp.DsrHolding 
     Case sp.RtsEnable 
     Case e.EventType = IO.Ports.SerialPinChange.Ring 
    End Select 
End Sub 

도움이 될 수 있습니다.

편집 : 링을 감지하려면 e.EventType을 사용해야합니다.

+0

감사합니다. 나의 초기 코드는 타이머로 1 초마다 상태를 체크하는 것이었지만 타이머 오브젝트없이 어떻게 작동하는지 살펴 보려고 노력할 것이다. – Mark