如何读取串行端口控制线状态.net
问题描述:
我正在开发一个项目,我需要在开关关闭时触发事件。我的理解是,可以在串口上使用控制线,并读取开关是否闭合。我已经找到了如何将开关连接到引脚的原理图,但是我无法找到关于如何读取开关状态的任何示例代码。如何读取串行端口控制线状态.net
示意图位于:http://irtel.uni-mannheim.de/pxlab/doc/manual/Devices.html
任何人有任何想法,你如何使用vb.net或C#来读取这些控制线的一个开关的状态?
答
销更改事件处理程序可能会帮助
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
谢谢。我最初的代码是每隔一秒钟用一个计时器检查状态,但我会试着看看它是如何在没有计时器对象的情况下工作的。 – Mark 2011-05-11 12:21:34
这非常有帮助。得到它使用5行代码。谢谢! – Mark 2011-05-11 12:19:15