Автор Тема: Qt+QFile+/dev/ttyUSB0  (Прочитано 2177 раз)

Оффлайн pavel_s

  • Участник
  • *
  • Сообщений: 2
Qt+QFile+/dev/ttyUSB0
« : 13.07.2012 09:42:29 »
    Проблема такая: Программа на Qt. AltLinux 6.0. Нужно читать/писать последовательный порт (используется адаптер USB-RS232, с ним проблем нет). Использую QFile для открытия "/dev/ttyUSB0", и далее как "по учебнику". При вызове open программа виснет...
    Если запустить аналогичный код на С или С++, то всё работает замечательно. И после запуска такой "сишной" программы программа на Qt тоже начинает работать прекрасно...до перезагрузки. Или можно "дёрнуть" порт, например minicom'ом.
    Если открывать обычный файл, то всё нормально работает...
    Не знаю, в чём тут дело? Похожие программы на старых RedHat`ах и Simply Linux прекрасно работают.
   
« Последнее редактирование: 13.07.2012 13:41:45 от pavel_s »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Qt+QFile+/dev/ttyUSB0
« Ответ #1 : 07.08.2012 08:33:02 »
Какое ядро используете?
Андрей Черепанов (cas@)

Оффлайн pavel_s

  • Участник
  • *
  • Сообщений: 2
Re: Qt+QFile+/dev/ttyUSB0
« Ответ #2 : 20.09.2012 22:44:30 »
Использовал образ Альт Линукс 6.0.0 64 бит, который скачал с сайта. Никаких обновлений/добавок не делал.
Предполагаю, что, возможно, дело в драйвере...Пара устройств, использующих драйвер pl2303, ведёт себя так, как описал. А, например, драйвер MOXA с ихнего форума, и USB-RS485, с драйвером cp21xx, работают нормально. Кстати, аналогичная ситуация и под FEDORA 17.
А вот под Simply Linux 5, FEDORA 14 и 7 RedHat'е что-то такого не замечал (правда, может быть, особенно и не смотрел).

Оффлайн Peter_

  • Участник
  • *
  • Сообщений: 105
Re: Qt+QFile+/dev/ttyUSB0
« Ответ #3 : 17.11.2012 22:07:42 »
Дело не в версии ядра. Я тоже использую переходник MOXA, а открывать последовательный
порт надо с помощью специального класса. Ещё в версии Qt-2.x я так и не сумел
создать его на основе QIODevice и создал свой базовый класс и класс для Linux и до сих пор
ими пользуюсь. Всё работает без проблем.

Пётр.
Пётр.