Russian Qt Forum
Ноябрь 14, 2024, 20:10
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].
Страниц:
1
...
15
16
[
17
]
18
19
...
88
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА]. (Прочитано 782341 раз)
Aibalit
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #240 :
Август 13, 2010, 20:50 »
kuzulis,
Цитата: kuzulis от Август 11, 2010, 13:48
Если все-таки не передумали, то:
1. Покажите *.pro вашего проекта.
2. Приведите структуру каталогов где лежит либа и где лежит ваш проект
вот я структуру привел... так что весь во внимании как прикрутить либу?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #241 :
Август 14, 2010, 14:53 »
2 Aibalit,
я жду по библиотеке вопросов несколько иного характера нежели "как прикрутить". У меня нет никакого желания разбираться с вопросами типа "как прикрутить".. Честно.. Без обид... У вас есть примеры.. У вас есть все чтобы разобраться самому. Меняйте как вам угодно *.pri, *.pro, делайте структуру каталогов проекта так как вам хочется. Пробуйте, экспериментируйте...
Наводящий вам ответ: поиграйтесь с "../" в QMAKE_LIBDIR и INCLUDEPATH . Удачи.
Записан
ArchLinux x86_64 / Win10 64 bit
labview
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #242 :
Сентябрь 06, 2010, 13:43 »
Здрасьте!
Насколько я понимаю главным отличием этой библиотеки от QExtSerialPort является возможность передачи данных в синхронном режиме. Поясните пожалуйста, что имеется в виду?
Для синхронного режима нужен дополнительный такт между партнёрами и скорость передачи данных задаётся этим тактом, а не устанавливается в настройках при открытии. Для этого по-моему используются (кроме обычных RX/TX и GND) дополнительные линии:
RTS, CTS, DSR и прочие.
Получается эта библиотека поддерживает такую связь, а другая нет? Я правильно понимаю?
Спасибо.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #243 :
Сентябрь 06, 2010, 14:16 »
Нет. Режим только асинхронный (на физическом уровне). Синхронный режим м/сх UART в PC не поддерживают.
Откуда вы про синхронный вообще прочитали? о_О
Просто когда еще я создавал библиотеку QSerialDevice , то у QextSerialPort и в помине небыло асинхронного режима.
Т.е. под асинхронным в данном случае понимается неблокирующий режим с использованием для ожидания данных объектов ядра ОС.
Это потом уже они добавили режимы EvenDrive и т.п.
Т.е. у меня при чтении данных на "низком уровне" драйвер порта не ждет следующего байта, а возвращает сразу всё что есть в данный момент в приемном буфере, но на более "высоком уровне" (в моем коде) это ожидание реализуется иными способами.
В общем, читайте документацию и смотрите код.
ЗЫ: так вот путаница в названиях и повелась с тех пор.
Записан
ArchLinux x86_64 / Win10 64 bit
labview
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #244 :
Сентябрь 06, 2010, 15:12 »
Цитата: kuzulis от Сентябрь 06, 2010, 14:16
Просто когда еще я создавал библиотеку QSerialDevice , то у QextSerialPort и в помине небыло асинхронного режима.
Т.е. под асинхронным в данном случае понимается неблокирующий режим с использованием для ожидания данных объектов ядра ОС.
Понятно, спасибо за разьяснения.
Разница в терминологии.
Пожалуйста, не нужно путать людей синхорнным/асинхронным режимом работы порта и polling/event based программированием/использованием драйвера порта.
По-Вашему получается QExtSerialPort раньше не поддерживал асинхронный режим, значит он поддерживал синхронный? И тут же пишите, что PC UART вообще не поддерживает синхронный режим. То, что вы подразумеваете под асинхронностью в моём понимании асинхронностью не является.
Спасибо!
«
Последнее редактирование: Сентябрь 06, 2010, 15:16 от labview
»
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #245 :
Сентябрь 06, 2010, 15:19 »
Цитировать
По-Вашему получается QExtSerialPort раньше не поддерживал асинхронный режим, значит он поддерживал синхронный? И тут же пишите, что PC UART вообще не поддерживает синхронный режим. То, что вы подразумеваете под асинхронностью в моём понимании асинхронностью не является.
Он (QExtSerialPort ) не поддерживал асинхронный I/O:
http://msdn.microsoft.com/en-us/library/aa365683(v=VS.85).aspx
для примера о чем я говорю.
«
Последнее редактирование: Сентябрь 06, 2010, 15:22 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
labview
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #246 :
Сентябрь 06, 2010, 15:30 »
Разобрался, спасибо ещё раз.
Записан
juvf
Программист
Offline
Сообщений: 570
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #247 :
Сентябрь 17, 2010, 06:04 »
где используется время установленное функцией setCharIntervalTimeout? в read?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #248 :
Сентябрь 17, 2010, 07:29 »
Цитировать
где используется время установленное функцией setCharIntervalTimeout? в read?
В принципе ДА, а точнее в методах nativeSelect, которые используются при чтении.
В общем, ожидает символ с помощью select (unix) или WaitSingleObject (win).
Записан
ArchLinux x86_64 / Win10 64 bit
Aibalit
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #249 :
Сентябрь 22, 2010, 16:41 »
Подскажите пожалуйста, как программным образом определить имя COM порта, на который село устройство (CP210x USB to UART Bridge Controller)?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #250 :
Сентябрь 23, 2010, 07:25 »
Посмотри тут:
http://forum.vingrad.ru/forum/topic-309616.html
Записан
ArchLinux x86_64 / Win10 64 bit
alexcpp
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #251 :
Сентябрь 29, 2010, 01:07 »
Здравствуйте.
Не осилил всю тему.
Не понял одного: зачем "это" ?
Есть прекрасная, мультиплатформенная, асинхронная, потокобезопасная, паттерн-ориентированная библиотека. Зовется
Asio
. Находится на рассмотрении во включение в стандарт С++. В ней, помимо работы с COM портами, есть все что необходимо для реализации асинхронной работы с потоками, сетью, дескрипторами ввода-вывода.
Искренне не понял смысл этого создания.
спасибо.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #252 :
Сентябрь 29, 2010, 07:30 »
2 alexcpp
Вот если бы Вы писали код только на С++ или использовали Boost - то пожалуйста, используйте то что хотите.
Использование Qt классов при этом неуместно.
Но если вы пишете на Qt - то "не очень" уместно в некоторых случаях использовать сторонние библиотеки.
QSerialDevice создан как класс, который использует не просто асинхронный IO (тут можно было и не придумывать вообще ничего) , а он использует все "фичи" Qt, т.е. он и сделан в Qt-like стиле по аналогии с QAbstractSocket.
Если следовать вашей мысли, то и QAbstractSocket в Qt нафиг не нужен!? Ведь можно использовать Boost или еще что нибудь. И если продолжить - то и вообще Qt не нужно?! Так? (по крайней мере те классы которые не есть компоненты GUI)!
Если честно, то для меня Ваш вопрос странен.. Такое впечатление что это вброс какой-то чтобы пофлеймить...
Имхо.
Записан
ArchLinux x86_64 / Win10 64 bit
Denjs
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #253 :
Сентябрь 29, 2010, 13:10 »
Цитата: alexcpp от Сентябрь 29, 2010, 01:07
Есть прекрасная, мультиплатформенная, асинхронная, потокобезопасная, паттерн-ориентированная библиотека. Зовется
Asio
. Находится на рассмотрении во включение в стандарт С++.
Asio умеет использовать signal-slot? её объекты можно погрузить в QtScriptEngine? она знает о существовании системы метаданных QT (которая иногда таки очень полезна)? она умеет работать с QByteArray и QString?
нет? у вас ещё есть вопросы?
Цитата: alexcpp от Сентябрь 29, 2010, 01:07
Находится на рассмотрении во включение в стандарт С++.
Ну и отлично) когда её включат в C++, а значит и в gcc и mingw - (возможно) будем пользовать)))))
ну и конечно, сердечно желаем Asio обзавестись QT-оберткой)))
«
Последнее редактирование: Сентябрь 29, 2010, 13:15 от Denjs
»
Записан
MrLink
Гость
Re: Создаю библиотеку для работы с последовательными портами. [В ПРОЦЕССЕ].
«
Ответ #254 :
Декабрь 14, 2010, 11:35 »
kuzulis, прошу обратить внимание.
Под WinXP(32bit) происходит вот что:
Сделал по примеру чтение по сигналу readyRead() в "привязаном" слоте определяется количество принятых байтов, проверка на размер, и их чтение. Под WinXP(32bit) приходят сигналы, а количество равно нулю. И если не сделать чтение, сигналы больше не приходят.
p.s. linux версия работает
Записан
Страниц:
1
...
15
16
[
17
]
18
19
...
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...