我想在单击 中的按钮后检查串行端口是否断开连接C# WinForms
。
例如:
private void btn_Click()
{
if("code to check device disconnected")
{
Do this;
}
else
{
Do this;
}}
PS:有什么方法可以检查应用程序运行时设备是否断开连接。
SerialPinchanged
, ErrorRecieved
,DataRecieved
不帮忙。
先感谢您
我想在单击 中的按钮后检查串行端口是否断开连接C# WinForms
。
例如:
private void btn_Click()
{
if("code to check device disconnected")
{
Do this;
}
else
{
Do this;
}}
PS:有什么方法可以检查应用程序运行时设备是否断开连接。
SerialPinchanged
, ErrorRecieved
,DataRecieved
不帮忙。
先感谢您
这取决于连接到 COM 端口的目标设备的规格。
例如RTS/CTS或DTR/DSR交叉连接,或者相当于modem的设备有DCD或RI有效信号线,CTS/DSR/DCD/RI信号线显示有效连接信息。, 可能存在健康检查或保持活动的命令/响应规范的情况。
或者,如果COM口是USB串口转换器,可以检查是否存在对应VID和PID的设备,但要确保设备实际连接在转换器的末端。没有任何保证。
这是一个简单的逻辑,只要 SerialPort 断开连接,serialPort.IsOpen 就会变为 false。
private void btn_Click()
{
if(!SerialPort.IsOpen)//If SerialPort is not open
{
Do this;
}
else//Else if SerialPort is open
{
Do this;
}
}