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

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

Страниц: 1 ... 82 83 [84] 85 86 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 785044 раз)
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1245 : Август 25, 2015, 08:38 »

Да, после clear().
От каких проблем предохраняет запуск асинхронного чтения в этом методе? Приведи подробный пример.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1246 : Август 25, 2015, 08:48 »

Цитировать
Да, после clear().

Значит все правильно.

Цитировать
От каких проблем предохраняет запуск асинхронного чтения в этом методе? Приведи подробный пример.

http://code.qt.io/cgit/qt/qtserialport.git/tree/tests/auto/qserialport/tst_qserialport.cpp#n713 (см readAfterInputClear())
Записан

ArchLinux x86_64 / Win10 64 bit
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1247 : Август 25, 2015, 21:46 »

Qt 5.5 UTF-8 Window7
Как получить читабельный вывод?

Код
C++ (Qt)
QSerialPort serialPort(QString(""));
   if (!serialPort.open(QSerialPort::ReadWrite))
       qDebug() << serialPort.error() << serialPort.errorString();
 

Вывод:
11 "\u0421\u0438\u0441\u0442\u0435\u043C\u0435 \u043D\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0439 \u043F\u0443\u0442\u044C."
Код
C++ (Qt)
qDebug() << serialPort.error() << serialPort.errorString().toUtf8().data();
 
Примерно так.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1248 : Август 27, 2015, 08:51 »

Цитировать
Да, после clear().

Значит все правильно.

Цитировать
От каких проблем предохраняет запуск асинхронного чтения в этом методе? Приведи подробный пример.

http://code.qt.io/cgit/qt/qtserialport.git/tree/tests/auto/qserialport/tst_qserialport.cpp#n713 (см readAfterInputClear())

Правильно - это когда после успешной работы функции код ошибки равен 0, а текст ошибки равен "No error".
Переделывай свой костыль.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1249 : Август 27, 2015, 14:06 »

https://codereview.qt-project.org/124361
https://codereview.qt-project.org/124362
Записан

ArchLinux x86_64 / Win10 64 bit
TigerProg
Гость
« Ответ #1250 : Октябрь 26, 2015, 15:44 »

Всем привет!

Использую библиотеку QSerialPort для Qt 4.8.5 под винду для получения с модема sms в постоянном режиме. Модем подключён к компьютеру через провод RS-232/USB.
Всё работает, но модем примерно раз в день (обычно ночью) перестаёт отвечать на команды. Никак не могу понять с чем это может быть связано.. Сам модем (Cinterion BGS2T-232) с функцией watch-dog, тоесть по идее должен перезапускаться в случае зависания, но это не помогает.
Также сделал программно перезагрузку модема каждые полчаса командой AT+CFUN=1,1. Тоже без результата.
Отключил в настройках электропитания в параметрах USB временное отключение USB порта. Также не наблюдаю результата.
Сейчас помогает только передёргивание сетевого кабеля питания модема.
В чём может быть дело? может ли быть проблема в библиотеке QSerialPort или я что-то ещё не попробовал?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1251 : Октябрь 26, 2015, 16:24 »

Цитировать
Также сделал программно перезагрузку модема каждые полчаса командой AT+CFUN=1,1. Тоже без результата.

Ну так модем отвечает что-то на эту команду? Отвечает ли вообще на AT?

Цитировать
В чём может быть дело? может ли быть проблема в библиотеке QSerialPort или я что-то ещё не попробовал?

ХЗ.
Записан

ArchLinux x86_64 / Win10 64 bit
TigerProg
Гость
« Ответ #1252 : Октябрь 26, 2015, 17:02 »

Цитировать
Ну так модем отвечает что-то на эту команду? Отвечает ли вообще на AT?
Отвечает ОК, модем перезагружается, выдаёт программе ^SYSSTART, программа заного его настраивает АТ-командами, всё вроде ОК, но в период между этими получасовыми перезагрузками он всеровно может зависнуть и тогда уже ни на какие AT команды ничего не отвечает, пока из сети не перезагружу.
После перезагрузки из сети, где-то сутки работает (с получасовыми перезагрузками через AT+CFUN=1,1) и потом опять виснет.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1253 : Октябрь 26, 2015, 18:38 »

Как вариант - написать на WinAPI хак чтобы периодически ресетить USB хаб(ы) (снимать/подавать питание к примеру) вместо ручного выдергивания.
Записан

ArchLinux x86_64 / Win10 64 bit
TigerProg
Гость
« Ответ #1254 : Октябрь 26, 2015, 18:58 »

Цитировать
Как вариант - написать на WinAPI хак чтобы периодически ресетить USB хаб(ы) (снимать/подавать питание к примеру) вместо ручного выдергивания.
Так может сам модем виснет, а не хаб?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1255 : Октябрь 26, 2015, 19:25 »

без понятия
Записан

ArchLinux x86_64 / Win10 64 bit
TigerProg
Гость
« Ответ #1256 : Ноябрь 05, 2015, 21:33 »

С помощью утилиты devcon, restart usb не осуществляется.
Если в диспетчере задач отключить/включить хаб, модем всеровно не отвечает.
Но дозвон с телефона на него идёт, значит сам модем не висит.
В чём проблема?
Записан
Phoenix
Гость
« Ответ #1257 : Декабрь 16, 2015, 15:20 »

Подскажите, по какой причине может возникнуть ошибка "File exists"?
Программа работает в Linux, затем ее закрывают, запускают ser2net (пробрасывает порт по сети), закрывают ser2net, запускают программу и возникает ошибка "File exists". Помогает перезагрузка компьютера.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1258 : Декабрь 16, 2015, 16:17 »

Цитировать
"File exists"

Может к lock файлу это относится. Скорее всего то-ли от разных юзеров запускали то-ли что-то еще. Его просто нужно удалить (если дело было в этой бобине).
Записан

ArchLinux x86_64 / Win10 64 bit
Phoenix
Гость
« Ответ #1259 : Декабрь 16, 2015, 16:50 »

А для чего создается lock файл?
Записан
Страниц: 1 ... 82 83 [84] 85 86 ... 88   Вверх
  Печать  
 
Перейти в:  


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