QextSerialPort - обнаружение отключения

У меня есть устройство, подключенное к компьютеру как "COM8". Я хотел бы знать, когда он отключен от компьютера, поэтому я использовал следующий код для обнаружения:

m_receiverCom->isWritable();
m_receiverCom->isOpen();  

Тем не менее, они все еще вернули истину после того, как я отключил устройство. Как я могу определить, подключено ли устройство или нет?

2 ответа

Решение

Вы запросили порт, а не устройство. Отправьте какое-либо сообщение с запросом на устройство, которое выдаст ответное сообщение.

Хотя это старая тема, не позволяйте людям застрять. Я только столкнулся с этой проблемой, и я успешно использовал qextserialport для обнаружения разъединения / соединения последовательного порта, используя:

QextSerialPort *serial_monitor;
serial_monitor = new QextSerialEnumerator();
serial_monitor->setUpNotifications();

connect(serial_monitor, SIGNAL(deviceRemoved(QextPortInfo)), this, SLOT(_handleUSBError(QextPortInfo)));
Другие вопросы по тегам