Как проверить, отключен ли последовательный порт в с #
Я хочу проверить, отключен ли последовательный порт после нажатия кнопки в C# WinForms
.
Например:
private void btn_Click()
{
if("code to check device disconnected")
{
Do this;
}
else
{
Do this;
}}
PS: Есть ли способ проверить, что устройство отключено при запуске приложения.SerialPinchanged
, ErrorRecieved
, DataRecieved
не помогай.
заранее спасибо
2 ответа
Это зависит от характеристик целевого устройства, подключенного к COM-порту.
Например, если RTS/CTS или DTR/DSR перекрестно подключены, или если устройство, эквивалентное модему, имеет допустимую сигнальную линию DCD или RI, а сигнальная линия CTS/DSR/DCD/RI показывает действительную информацию о соединении., Возможен случай, когда существует спецификация команды / ответа для проверки работоспособности или сохранения активности.
В качестве альтернативы, если COM-порт является последовательным преобразователем USB, вы можете проверить, существует ли устройство с соответствующими VID и PID, но убедитесь, что устройство действительно подключено к концу преобразователя. Нет никаких гарантий.
Логика проста: всякий раз, когда SerialPort отключается, serialPort.IsOpen становится ложным.
private void btn_Click()
{
if(!SerialPort.IsOpen)//If SerialPort is not open
{
Do this;
}
else//Else if SerialPort is open
{
Do this;
}
}