2
简单的问题。在.NET SerialPort
类有越来越串行输入线以下属性:为什么SerialPort类没有RIHolding属性?
CDHolding
- 获取载波的状态检测线的端口。CtsHolding
- 获取清除待送线的状态。DsrHolding
- 获取数据集就绪(DSR)信号的状态。
注意RIHolding
缺失。
此外,它具有PinChanged
事件。这提供了一个SerialPinChange
枚举值,它具有下列构件,并且确实包括一个用于环:
CtsChanged
- 的清除发送(CTS)信号改变状态...DsrChanged
-The数据设置就绪(DSR)信号状态发生了改变......CDChanged
- 载波检测(CD)信号状态发生了改变......Ring
- 检测到环指标。Break
- 输入被检测到一个间隔。
所以我的问题是,为什么没有RIHolding
属性?
如果我们看一下内部SerialStream
类,我们看到CDHolding
,CtsHolding
和DsrHolding
都是由对Win32 GetCommModemStatus
函数的调用来实现。他的lpModemStat
输出值是下列之一:
MS_CTS_ON
0x0010
的CTS(清除以发送)信号为ON。MS_DSR_ON
0x0020
DSR(数据集就绪)信号开启。MS_RING_ON
0x0040
振铃指示灯信号亮。MS_RLSD_ON
0x0080
RLSD(接收线路信号检测)信号开启。 (它映射到CDHolding
)
因此,它似乎将是微不足道的添加RIHolding
属性,只是看起来在位6.为什么要这样离开了?
但是,如果您想要显示它,例如在GUI中,400毫秒是足够的时间。 – 2012-08-07 15:34:45
谢谢你为什么这个解释*被遗漏了。尽管如此,我并没有对此感到高兴:-) – 2012-11-18 05:37:20
在许多实现中,RI信号正在生成硬件中断,从而消除了轮询过程。 – 2017-10-31 08:40:39