我有一台设备连接到计算机“COM8”。我想知道它什么时候从计算机上拔下来,所以我使用以下代码来检测:
m_receiverCom->isWritable();
m_receiverCom->isOpen();
然而,在我拔下设备后,它们仍然返回true 。如何检测设备是否堵塞?
答案 0 :(得分:0)
您查询了端口,而不是设备。将某种查询消息发送到将产生响应消息的设备。
答案 1 :(得分:0)
虽然是旧帖,但可以防止人们卡住。我刚遇到这个问题,我成功使用qextserialport来检测串口断开/连接:
QextSerialPort *serial_monitor;
serial_monitor = new QextSerialEnumerator();
serial_monitor->setUpNotifications();
connect(serial_monitor, SIGNAL(deviceRemoved(QextPortInfo)), this, SLOT(_handleUSBError(QextPortInfo)));