Russian Qt Forum
Ноябрь 23, 2024, 12:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].
Страниц:
1
...
74
75
[
76
]
77
78
...
88
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА]. (Прочитано 785414 раз)
Bepec
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1125 :
Январь 20, 2014, 11:51 »
Да заколдованная библиотека в общем. Каждый раз при сборке ошибки всякие.
Кхм. Действительно есть в стандарте. Почему то VS в упор не видит. Разберусь.
PS спасибо за быстрый ответ.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1126 :
Январь 20, 2014, 12:59 »
Цитировать
Каждый раз при сборке ошибки всякие.
Не может быть
Записан
ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1127 :
Январь 20, 2014, 13:19 »
Ну собираю когда систему переставляю, либо ЧП какое нить. Каждый раз нормально не собирается. Поднимается вопрос о прямоте рук, но я его игнорирую
Записан
Figaro
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1128 :
Январь 21, 2014, 13:09 »
Руки а главное мозг надо тренировать... еще десяток раз переставите - запомните:-)
Записан
Phoenix
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1129 :
Январь 21, 2014, 23:59 »
Я попробовал библиотеку (от 06.01.2014) на одноплатном компьютере Raspberry PI. Работает. Дистрибутив linux собран при помощи BuildRoot 2013.11. Порт встроенный, ttyAMA0. Согласование уровней через микросхему MAX232CPE. Загрузка процессора 4%.
Не знаю, нужна ли вам информация о тестировании на ARMe. Может кто-то уже проверил работу библиотеки на ARMe.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1130 :
Январь 22, 2014, 10:23 »
@Phoenix,
да, спасибо за статистику.
И да, загрузка на 4% это очень много. Я уже встречал много упоминаний об большой загрузке CPU на Linux.
Вот тут
https://codereview.qt-project.org/#change,75708
человек также упоминает от этом.
Пока сошлись на мнении что это баг QSocketNotifier и/или кривая реализация Qt event-loop (хотя я сомневаюсь в этом).
Но пока нет сравнительных тестов - не имеет смысла о чем-то разговаривать, возможно что нужно что-то в QtSerialPort подкрутить.
Записан
ArchLinux x86_64 / Win10 64 bit
Phoenix
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1131 :
Январь 22, 2014, 10:57 »
Пожалуйста.
Добавлю. Я не пользуюсь сигналами, а создаю отдельный поток с waitForReadyRead. Обмен с устройством идет на скорости 19200, ~122 обменов в секунду (запрос/ответ).
Записан
Phoenix
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1132 :
Январь 24, 2014, 21:54 »
На raspberry pi преобразователь usb-rs232 (FTDI FT232RL) тоже работает, но загрузка процессора 10%. На скорости 19200 - 130 обменов в секунду с устройством.
Преобразователь:
http://bolid.ru/production/orion/interface-converter/usb-rs232.html
«
Последнее редактирование: Январь 24, 2014, 21:59 от Phoenix
»
Записан
Phoenix
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1133 :
Январь 26, 2014, 23:14 »
Возможно действительно такая нагрузка из-за особенностей событий Qt. Я подключил raspberry к устройству по erhernet (не задействуя библиотеку QtSerialport), передача по UDP (QUdpSocket). При скорости 70 обменов в секунду - нагрузка на процессор 6%.
«
Последнее редактирование: Январь 26, 2014, 23:16 от Phoenix
»
Записан
Bepec
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1134 :
Февраль 03, 2014, 18:37 »
Собственно собрал ещё раз библиотечку под VS2008.
1) алгоритмы в файле qserialportinfo_p.h не включены.
2) не добавлена папка в additional Include ".\GeneratedFiles\$(ConfigurationName)", куда при конвертации проекта сыпятся moc_*.cpp. Потому ругается сильно.
это уже специфика VS2008 + QtAddin я думаю, но вдруг кому полезно будет.
Записан
Phoenix
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1135 :
Февраль 07, 2014, 15:44 »
Что такое "Протекает наложенное событие ввода/вывода."? Эта ошибка появляется в логе программы от QtSerilaPort, если программа запускается во время загрузки windows. Не мешает, но интересно почему появляется.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1136 :
Февраль 08, 2014, 13:51 »
Цитировать
"Протекает наложенное событие ввода/вывода."
Это наверно ERROR_IO_PENDING. При асинхронном I/O это обычная штука.
Цитировать
Возможно действительно такая нагрузка из-за особенностей событий Qt.
Я тут набросал некоторую статистику загрузки CPU от типа ОС, скорости, типа устройства и т.п. (из того что смог найти под рукой):
https://bugreports.qt-project.org/browse/QTBUG-36684
Результаты удручающие (если не сказать фейловые). Загрузка CPU просто ошеломляет, особенно под Linux (до 90% при использовании socat). Под Windows ситуация немного лучше (там до 40% при использовании com0com без эмуляции скорости). Но это, товарищи, никуда не годится, потому что в идеале она должна быть около ~0% т.к. все операции асинхронные и неблокирующие.
Кого здесь винить - я не знаю, или I/O подсистема в Qt вообще никакая, или у нас (меня) кривые руки, или драйвера хреновенькие, или tty подсистема в Linux - это шлак или что-то еще. В любом случае надо сравнить с загрузкой чисто Си-шных решений без всякого там Qt и прочего..
Мда, вот такие дела.
Записан
ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1137 :
Февраль 08, 2014, 16:17 »
>>при использовании com0com
надо без него пробовать, а с реальным нульмодемным шнурком. Этот com0com помнится мне чудил периодически поэтому я от него отказался.
Записан
Юра.
Bepec
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1138 :
Февраль 08, 2014, 16:31 »
com0com гадость. Пробовали, знаем. Много раз при рандомных условиях начинал "тухнуть", не пропускать кадры, отмирать до перезагрузки компа.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #1139 :
Февраль 08, 2014, 17:37 »
Цитата: lit-uriy
надо без него пробовать, а с реальным нульмодемным шнурком. Этот com0com помнится мне чудил периодически поэтому я от него отказался.
Юр, ну бы хоть посмотрел на ссылку что я дал. Там и шнурок реальный тоже был.. И тоже загрузка CPU нехилая до ~8% на 115200 (в винде).
Цитата: Bepec
com0com гадость. Пробовали, знаем. Много раз при рандомных условиях начинал "тухнуть", не пропускать кадры, отмирать до перезагрузки компа.
Не было такого замечено ни-разу .
И зря вы, парни, хаите com0com - он показывает ~0% при включенной "baud rate emulation" (даже при 1.000.000 бодах), что вполне допустимо. Но без эмуляции (когда скорость - по максимуму 38 мегабайт в секунду) - тут уже 40% набегает.
«
Последнее редактирование: Февраль 08, 2014, 17:41 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
Страниц:
1
...
74
75
[
76
]
77
78
...
88
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...