我正在開發一個項目,我需要在開關關閉時觸發事件。我的理解是,可以在串口上使用控制線,並讀取開關是否閉合。我已經找到了如何將開關連接到引腳的原理圖,但是我無法找到關於如何讀取開關狀態的任何示例代碼。如何讀取串行端口控制線狀態.net
示意圖位於:http://irtel.uni-mannheim.de/pxlab/doc/manual/Devices.html
任何人有任何想法,你如何使用vb.net或C#來讀取這些控制線的一個開關的狀態?
我正在開發一個項目,我需要在開關關閉時觸發事件。我的理解是,可以在串口上使用控制線,並讀取開關是否閉合。我已經找到了如何將開關連接到引腳的原理圖,但是我無法找到關於如何讀取開關狀態的任何示例代碼。如何讀取串行端口控制線狀態.net
示意圖位於:http://irtel.uni-mannheim.de/pxlab/doc/manual/Devices.html
任何人有任何想法,你如何使用vb.net或C#來讀取這些控制線的一個開關的狀態?
這應該會幫助您開始:http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx。那裏也有很好的串行教程。
銷更改事件處理程序可能會幫助
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。
謝謝。我最初的代碼是每隔一秒鐘用一個計時器檢查狀態,但我會試着看看它是如何在沒有計時器對象的情況下工作的。 – Mark 2011-05-11 12:21:34
這非常有幫助。得到它使用5行代碼。謝謝! – Mark 2011-05-11 12:19:15