Russian Qt Forum
Июнь 13, 2024, 23:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Причина возникновения ошибки QSerialPort::DeviceNotFoundError  (Прочитано 862 раз)
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« : Май 06, 2024, 17:26 »

Коллеги,
в продолжение темы 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?


Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
tux
Бывалый
*****
Offline Offline

Сообщений: 402



Просмотр профиля
« Ответ #1 : Май 07, 2024, 21:23 »

С железом может быть связана. У меня, к примеру, такое сплошь и рядом (на винде) - деаайс прикидывается последовательным портом (Comm over USB) и при инициализации или переподключении - именно эта ошибка. Помогает только физическое отключение такого девайса. К слову, такое наблюдается только на win - на linux всё работает нормально.
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 22.