如何使用.net读取串口控制线路状态

时间:2011-05-10 13:24:03

标签: c# vb.net serial-port

我正在开展一个项目,我需要在交换机关闭时触发事件。据我所知,可以在串行端口上使用控制线,并读取开关是否关闭。我已经找到了如何将开关连接到引脚的原理图,但是我无法找到任何关于如何读取开关状态的示例代码。

原理图位于:http://irtel.uni-mannheim.de/pxlab/doc/manual/Devices.html

任何人都有任何想法如何使用vb.net或C#来读取其中一条控制线上的开关状态?

2 个答案:

答案 0 :(得分:1)

pin更改事件处理程序可能有帮助

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。

答案 1 :(得分:0)

这可以帮助您入门:http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx。那里也有很好的连续教程。