![]() |
|
![]() ![]() ![]() |
|
alexeev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.11.2012 Репутация: нет Всего: нет |
Здравствуте, заметил странное поведение в работе класса QseriaPort
Конечно, скорее всего я делаю, что-то не верно... Имеется следующая проблема, при первом включении программы, после включения компьютера, программа сразу же зависает, при открывании ком порта. Если запустить HyperTerminal и считать данные с ком, и снова запустить программу, все прекрасно работает. В режиме дебага, данные корректо идут и считываются, даже первый раз. Скорее всего зависание происходит на строчке где вызывается метод readall, он вызывается соответсвенно по сигналу readyread(). Уже месяц не могу понять в чем проблема? Может кто-то сталкивался с чем-то похожим? |
|||
|
||||
kuzulis |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
Это который этот?
Код в студию. |
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Пользуетесь последней версией? Если нет, рекмендую обновиться.
|
|||
|
||||
alexeev |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.11.2012 Репутация: нет Всего: нет |
Да
Попробую привести куски с поянениями: Есть несколько классов, один СWidget - соответсвенно гуи интерефейс, класс СSerialPort - класс для настройки и получения данных, класс Сprocessing - полученные данные из класса CSerialPort, отправляются в этот класс и разбираются на массивы и переменные. В конструкторе Cwidget, создаются объекты всех классов, и прописываеются все конекты. (Один из них по сигналу readyread от объекта класса CSerialPort, перейти в метод этого класса, в котором -
После этого данные пересылаются в класс CProcessing, в котором, они накпаливаются, пока не соберется сообщение определенной длины, в этом сообщение находится заголовок, сверяется контрольная сумма, и если все корректно, сообщение разбирается на массивы и переменные. Все проблема, в том, почему зависание происходит, только один раз при первом включении компьютера, а затем все хорошо. Что такого делает HyperTerminal, после чего моя прогрмма отлично работает. Добавлено через 1 минуту и 23 секунды Версия не последняя, собирал ещё в ноябре, попробую обновиться! Это сообщение отредактировал(а) alexeev - 5.3.2013, 09:32 |
||||||
|
|||||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Настройку скорости, паритета, и т.д. делаешь?
Вот как делаю я:
|
|||
|
||||
kuzulis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
2 alexeev,
это все бла-бла. Лучше приведи компилябельный пример чтобы я мог его собрать и воспроизвести баг. |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
При попытке скачать библиотеку, теперь получаю
|
|||
|
||||
kuzulis |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
2 math64,
ага, спс, исправил. |
|||
|
||||
alexeev |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.11.2012 Репутация: нет Всего: нет |
Я обновился до последней версии, теперь программа не зависает. Но и данные сразу тоже не идут. Сначало все равно приходится открывать hyperterminal.
Класс отвечающей за соединение и первоначальный прием.
в главном классе виджета коннект
Здесь выводится Eror "Unknown error" 5 Eror "Unknown error" 5 Eror "Unknown error" 6 Eror "Unknown error" 6 Eror "Unknown error" 5 Eror "Unknown error" 5 |
||||||
|
|||||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Делай как в моих настройках - сначала открывай порт, потом настраивай. При открытии настройки сбрасываются.
|
|||
|
||||
alexeev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 14.11.2012 Репутация: нет Всего: нет |
math64, Огромнейшие спасибо!!!!!!
Новая версия библиотеки и ваша подсказка, решили све проблемы!=) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |