RS232序列通訊介面硬體上有三個訊號輸入引腳:
CTS:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經同意你傳送資料
DSR:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經準備就緒,可以工作了
CD:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經偵測到載波(也就是資料調製波)
在.net中,要讀取這三個訊號的狀態,有兩種方法:
(1)直接讀取,程式碼如下
//讀取CTS
bool blnCTS = serialPort1.CtsHolding;
//讀取DSR
bool blnDSR = serialPort1.DsrHolding;
//讀取CD
bool blnCD = serialPort1.CDHolding;
(2)在串列埠事件PinChanged處理程式中讀取
private void serialPort1_PinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e)
{
// 如果上面說的三個輸入訊號中,任意一個輸入發生變化
// 都會引發PinChanged事件。因此,需要判斷究竟是哪個
// 引腳訊號變化引發此事件
bool b;
switch (e.EventType)
case System.IO.Ports.SerialPinChange.CDChanged:
b = serialPort1.CDHolding;
break;
case System.IO.Ports.SerialPinChange.CtsChanged:
b = serialPort1.CtsHolding;
case System.IO.Ports.SerialPinChange.DsrChanged:
b = serialPort1.DsrHolding;
default:
}
RS232序列通訊介面硬體上有三個訊號輸入引腳:
CTS:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經同意你傳送資料
DSR:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經準備就緒,可以工作了
CD:這個訊號源自對方(通常是DSE型別的裝置,如調變解調器),告訴你DSE已經偵測到載波(也就是資料調製波)
在.net中,要讀取這三個訊號的狀態,有兩種方法:
(1)直接讀取,程式碼如下
//讀取CTS
bool blnCTS = serialPort1.CtsHolding;
//讀取DSR
bool blnDSR = serialPort1.DsrHolding;
//讀取CD
bool blnCD = serialPort1.CDHolding;
(2)在串列埠事件PinChanged處理程式中讀取
private void serialPort1_PinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e)
{
// 如果上面說的三個輸入訊號中,任意一個輸入發生變化
// 都會引發PinChanged事件。因此,需要判斷究竟是哪個
// 引腳訊號變化引發此事件
bool b;
switch (e.EventType)
{
case System.IO.Ports.SerialPinChange.CDChanged:
b = serialPort1.CDHolding;
break;
case System.IO.Ports.SerialPinChange.CtsChanged:
b = serialPort1.CtsHolding;
break;
case System.IO.Ports.SerialPinChange.DsrChanged:
b = serialPort1.DsrHolding;
break;
default:
break;
}
}