![]() |
|
![]() ![]() ![]() |
|
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Привет форум!
На работе дали задание написать программу опроса теплосчетчика. Он подключен к компу через COM порт (RS-232). Прога должна иметь гуй так что придется использовать QT потому что больше я ничего не знаю а срок сдачи - месяц. Платформа win32 (WinXP). Кросплатформенность приветствуется! Нашел любопытную библиотеку для QT называется qextserialport (скачать можно тут http://sourceforge.net/project/showfiles.php?group_id=127181 размер либы 190 Кб с документацией). В документации только краткое описание классов и функций и сложный пример. Для меня как для начинающего этого слишком мало чтобы разобраться. Помогите пожалуйста понять как работать с библиотекой? Может быть у кого-то есть опыт работы с ней или примеры исходников? Как подключить эту библиотеку к проекту QT? В каком порядке использовать функции? Мне нужно выполнить все на простейшем уровне: 1) открыть порт 2) выставить нужные параметры соединения 3) читать-писать в порт 4) закрыть порт по окончании работы Поделитесь пожалуйста опытом и знаниями! Как это все использовать? Это сообщение отредактировал(а) blackdevil - 30.10.2007, 00:59 |
|||
|
||||
archimed7592 |
|
||||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Также как и файл:
Также как и файл:
Также как и файл:
Всё это понятно сразу после взгляда на иерархию этого класса(он же наследник QIODevice). Какие именно? Ну, вообще примерно так:
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||||
|
|||||||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Хмм...выглядит все достаточно просто но честно говоря мне сложно в этом разобраться...видимо уровень еще не тот...А QByteArray это массив байтов? А если мне нужно инфу в битах передавать то сначала надо перевести в двоичный вид и писать в "файл" например unsigned char?
|
|||
|
||||
archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Тогда задавай более конкретные вопросы. Да.
Не очень понял вопроса, но как бы то ни было, создавай отдельную тему, если не умеешь биты-байты конвертить(а лучше поищи по форуму/гуглю). -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
archimed7592 небольшой вопрс если можно - в Вашем первом посте функции работы с файлами это чистые функции языка C++? Насколько я разобрался с библиотекой там по-моему свои функции открытия/закрытия есть...возможно правильнее будет использовать их?
|
|||
|
||||
archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Смотря что понимать под чистыми ф-циями языка С++. Эти - ф-ции, унаследованные твоим классом QextSerialPort от Qt'шного класса QIODevice. Подходит это под твоё определение чистых ф-ций языка С++ или нет - решать тебе.
Это они и есть. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Пардон...видимо плохо смотрел...
|
|||
|
||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Кстати такой вопросик - библиотека эта как я понял использует Windows API. Если я поставлю на Windows MinGW (компилятор g++) и QT 4 Open Sourse то у меня потом это все соберется? Заголовочных файлов хватит? Или надо под MSVC компилятор собирать? WinAPI это вроде бы функции самой ОС?
Скоро напишу прототип функции если сможете проверьте меня плз! ![]() Это сообщение отредактировал(а) blackdevil - 5.11.2007, 12:40 |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Теоретически - хватит... Практически - попробуй собрать и увидишь. К слову Qt 4 тоже использует Win32API. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Поднимаю темку так как есть важный вопрос.
Я совсем незаметил что библиотека представляет из себя QT-шный проект (.pro). Скомпилил и получилась динамическая библиотека .dll ВОПРОС: Как подключить эту dll в свой проект чтобы ее функции использвать? Можно так чтобы никакого кода на включение не писать? Как я понял надо в файл мой_проект.pro добавить какие то строки...
Вот так можно? Или нужно что-то еще прописать в .pro файл? |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
То есть я эту строчку прописываю в .pro файл, кладу свою .dll в папку проекта, собираю и все работает?
![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
blackdevil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.1.2007 Репутация: нет Всего: нет |
Спасибо! Сейчас буду пробовать.
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Достаточно прописать то, что ты написал в .pro. В случае с MSVS можно было бы сделать так, чтобы ничего прописывать в .pro не нужно было. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |