Название: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 04, 2010, 15:24 Здрвствуйте, извините если такая тема уже была...
Хочу написать программу под windows xp/vista для работы с Com-portom на Qt creator... Не подскажите где можнно соответствующую информацию почитать??? Заранее, большое спасибо))))) Название: Re: работа с Com-портом Отправлено: pastor от Сентябрь 04, 2010, 15:25 http://www.prog.org.ru/topic_9537_0.html
Название: Re: работа с Com-портом Отправлено: Denjs от Сентябрь 04, 2010, 15:47 Есть ещё мои классы в OTPD (см подпись, сейчас OTPD идет в составе QDroid),
класс t_seriallink_otpd (каталог исходников OTPD/classes/hardware_comm). там же есть демки - поиск подключенного принтера чеков в каталоге _support_software/find_serial_escpos_printer/ - как наиболее простой пример работы с компонентой. Ещё есть "наиболее старейший" класс QextSerialPort (ссылки в инете найдете). Если будете делать на моих компонентах - могу обновить исходники на сайте. _______________ PS: софтина что вы будете делать - она у вас надеюсь GPL-ная?) а то все что тут перечислено - оно GPL-ное. вы же сорсы опубликуете? Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 04, 2010, 15:58 спасибо)))))
Название: Re: работа с Com-портом Отправлено: pastor от Сентябрь 04, 2010, 16:00 QextSerialPort распространяется под New BSD лицензией.
ЗЫ: Нашел вот такой suggestion на баг трекере http://bugreports.qt.nokia.com/browse/QTBUG-9980 Но к соосаждению этот таск закрыли. Но каменты оставлять можно. Было бы весьма неплохо, если бы компонент по работе с последовательным портом входил бы в состав Qt. 2 kuzulis: В обсуждении обратили внимание и на твой компонент. Жалуются что он под GPL. :) Название: Re: работа с Com-портом Отправлено: kuzulis от Сентябрь 04, 2010, 17:03 Цитировать 2 kuzulis: В обсуждении обратили внимание и на твой компонент. Жалуются что он под GPL. Ну я в курсе... А что они хотят: И рыбку съесть и н#х&й сесть?! Такого не бывает. Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 04, 2010, 17:25 а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл, закрыть и т.д..???
Название: Re: работа с Com-портом Отправлено: kuzulis от Сентябрь 04, 2010, 18:00 Цитировать а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл, закрыть и т.д..Непонимающий о каких таких функциях речь? что под ними подразумеваете? Win32Api функции или классы Qt типа QFile?Название: Re: работа с Com-портом Отправлено: Denjs от Сентябрь 04, 2010, 18:38 а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл, закрыть и т.д..??? 1) да) но только вам надо будет изучать дополнительные структуры управления, для того, что бы настраивать скорость и другие параметры работы ком-порта.2) вам надо будет изучить различия между синхронным и асинхронным режимами открытия и работы с файлом... 3) и, возможно, научиться работать с несколькими потоками программы (для удобства)... в одном потоке - крутить блокирующее чтение из файла - а в другом - выполнять операции основной программы... по крайней мере у меня только так оно стабильно заработало... ну где-то так) я например так и делал - открывал файл. Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 04, 2010, 18:39 я помню просто давно на Borlande 6 писал прогу для Com-порта... ну и там указывал стандартные: открыть файл, получал указатель "handle" и т.д....наверно Win32Api))))
Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 04, 2010, 18:42 а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл, закрыть и т.д..??? 1) да) но только вам надо будет изучать дополнительные структуры управления, для того, что бы настраивать скорость и другие параметры работы ком-порта.2) вам надо будет изучить различия между синхронным и асинхронным режимами открытия и работы с файлом... 3) и, возможно, научиться работать с несколькими потоками программы (для удобства)... в одном потоке - крутить блокирующее чтение из файла - а в другом - выполнять операции основной программы... по крайней мере у меня только так оно стабильно заработало... Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 06, 2010, 09:46 Может кто-нибудь сталкивался с этим?????
Пытаюсь открыть Com портю. обьявляю переменную: public: HANDLE hport; ---------------------- а в ответ от компилятора получаю вот такую ошибку: 'HANDLE' does not name a type Название: Re: работа с Com-портом Отправлено: kuzulis от Сентябрь 06, 2010, 09:57 Код: #include <qt_windows.h> Код: #include <windows.h> и вообще, раз используете Win32Api - то это не имеет к Qt никакого отношения. Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 06, 2010, 10:09 спасибо))))
только теперь наткнулся на такую проблему: пытаюсь открыть порт и пишу: hport = CreateFile ( "COM3", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); ---------------------- а в ответ от компилятора получаю вот такую ошибку: cannot convert 'const char*' to 'const WCHAR*' for argument '1' to 'void* CreateFileW(const WCHAR*, DWORD, DWORD, _SECURITY_ATTRIBUTES*, DWORD, DWORD, void*)' Название: Re: работа с Com-портом Отправлено: kuzulis от Сентябрь 06, 2010, 10:30 2 Lonsdale.85,
посмотрите уже исходники тех библиотек (для работы с портами) для Qt, ссылки на которые вам дали + поиск в гугле + поиск на этом форуме. Ошибка банальнее некуда. Удачи. Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 06, 2010, 12:26 2 Lonsdale.85, посмотрите уже исходники тех библиотек (для работы с портами) для Qt, ссылки на которые вам дали + поиск в гугле + поиск на этом форуме. Ошибка банальнее некуда. Удачи. правильно ли я понял что нужно было написать не "COM3", а L"COM3" ???? Название: Re: работа с Com-портом Отправлено: kuzulis от Сентябрь 06, 2010, 13:00 Цитировать правильно ли я понял что нужно было написать не "COM3", а L"COM3" Непонимающий? Нет, смотрите исходники.-- Даю подсказку: если вам влом что-то качать - то посмотрите исходники класса QFile, там тоже используется функция: CreateFile http://qt.gitorious.org/qt/qt/blobs/4.7/src/corelib/io/qfsfileengine_win.cpp Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 06, 2010, 13:05 Цитировать правильно ли я понял что нужно было написать не "COM3", а L"COM3" Непонимающий? Нет, смотрите исходники.-- Даю подсказку: если вам влом что-то качать - то посмотрите исходники класса QFile, там тоже используется функция: CreateFile а тут на каком-то форуме наткнулся на похожую ситуацию и там посоветовали поставить букву "L" впереди дескать: "WCHAR - это двухбайтовый символ вроде бы, вот и строки нам нужны не обычные, а длинные (Long) " покрайней мере у меня заработало....сейчас посмотрб QFile Название: Re: работа с Com-портом Отправлено: Lonsdale.85 от Сентябрь 06, 2010, 19:50 всё спасибо. разобрался))))
|