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