Russian Qt Forum
Ноябрь 22, 2024, 02:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Самопроизвольное отключение сигнала readyRead() класса QSerialPort  (Прочитано 8092 раз)
YvenTitan
Самовар
**
Offline Offline

Сообщений: 174


Просмотр профиля
« : Февраль 20, 2020, 13:26 »

Здравствуйте
У меня есть программа, которая пересылается файл в устройство, используя COM-порт. Под ОС Windows работает нормально, при переносе на OC Raspbian Buster возникает проблема при записи файла в устройство. При чтении из устройства работает нормально (если не используется функция QSerialPort::write).
Точнее сначала работает нормально, а в какой-то момент перестает отслеживать сигнал readyRead класса QSerialPort. Выводится ошибка QSerialPort::UnknownError. COM-порт - виртуальный USB. Выключение и включение COM-порта и перезапуск программы ситуацию не исправляют. COM приходит в нормальное состояние только или перезагрузкой устройства, или перезагрузкой raspberry. Команда cat /proc/meminfo показывает, что заполнения памяти нет. Использую Raspberry Pi 3. flush() после write() и clear() перед write ситуацию не меняют.
В отличие от Windows в Rasbian много неправильных пакетов (мусора). Передача перестает работать каждый раз через разное число посланных пакетов и через разное количество мусорных.

Можете подсказать в чем может быть проблема? Из-за чего в какой-то момент перестает работать сигнал ReadyRead() ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Февраль 20, 2020, 17:19 »

Возможно проблема в Linux Kernel: https://bugreports.qt.io/browse/QTBUG-48304
Попробовать пересобрать BSP с другой версией ядра.

Да и непонятно, какая версия QSP используется. В любом случае можно всегда пересобрать QSP и втыкнуть трейс в то место где генерится ошибка QSerialPort::UnknownError и вывести реальный errno.
Записан

ArchLinux x86_64 / Win10 64 bit
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #2 : Февраль 21, 2020, 09:21 »

на обычной ubuntu работает ок ?
если да, то очевидно где проблема
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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