Название: Причина возникновения ошибки QSerialPort::DeviceNotFoundError Отправлено: sergek от Май 06, 2024, 17:26 Коллеги,
в продолжение темы http://www.prog.org.ru/index.php?topic=32296.msg247177#msg247177 (http://www.prog.org.ru/index.php?topic=32296.msg247177#msg247177) у меня дополнительный вопрос. В RPi к последовательному порту подключен прибор, который периодически выдает в шину данные, программа его слушает. Существует таймаут, по истечению которого принимается решение, что данные перестают поступать и выполняется переоткрытие порта. Иногда (раз в 2-3 дня) при открытии появляться ошибка: сначала QSerialPort::DeviceNotFoundError (No such file or directory), а потом - QSerialPort::PermissionError (Permission error while locking the device). Закрытие порта происходит, вроде, без проблем. Я всегда думал, что функция закрытия порта является блокирующей, т.е. завершается, когда порт закрыт, поэтому открываю порт сразу после ее завершения. Понятно, что вторая ошибка - производная от первой. Но с чем может быть связана ошибка QSerialPort::DeviceNotFoundError? Название: Re: Причина возникновения ошибки QSerialPort::DeviceNotFoundError Отправлено: tux от Май 07, 2024, 21:23 С железом может быть связана. У меня, к примеру, такое сплошь и рядом (на винде) - деаайс прикидывается последовательным портом (Comm over USB) и при инициализации или переподключении - именно эта ошибка. Помогает только физическое отключение такого девайса. К слову, такое наблюдается только на win - на linux всё работает нормально.
|