Russian Qt Forum
Ноябрь 27, 2024, 10:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: работа с Com-портом  (Прочитано 19764 раз)
Lonsdale.85
Гость
« : Сентябрь 04, 2010, 15:24 »

Здрвствуйте, извините если такая тема уже была...
Хочу написать программу под windows xp/vista для работы с Com-portom на Qt creator...
Не подскажите где можнно соответствующую информацию почитать???
 
Заранее, большое спасибо)))))
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Сентябрь 04, 2010, 15:25 »

http://www.prog.org.ru/topic_9537_0.html
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Denjs
Гость
« Ответ #2 : Сентябрь 04, 2010, 15:47 »

Есть ещё мои классы в OTPD (см подпись, сейчас OTPD идет в составе QDroid),
класс t_seriallink_otpd (каталог исходников OTPD/classes/hardware_comm).  там же есть демки - поиск подключенного принтера чеков в каталоге _support_software/find_serial_escpos_printer/ - как наиболее простой пример работы с компонентой.

Ещё есть "наиболее старейший" класс QextSerialPort (ссылки в инете найдете).

Если будете делать на моих компонентах - могу обновить исходники на сайте.

_______________
PS: софтина что вы будете делать - она у вас надеюсь GPL-ная?) а то все что тут перечислено - оно GPL-ное. вы же сорсы опубликуете?
Записан
Lonsdale.85
Гость
« Ответ #3 : Сентябрь 04, 2010, 15:58 »

спасибо)))))
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #4 : Сентябрь 04, 2010, 16:00 »

QextSerialPort распространяется под New BSD лицензией.

ЗЫ: Нашел вот такой suggestion на баг трекере http://bugreports.qt.nokia.com/browse/QTBUG-9980 Но к соосаждению этот таск закрыли. Но каменты оставлять можно. Было бы весьма неплохо, если бы компонент по работе с последовательным портом входил бы в состав Qt.

2 kuzulis: В обсуждении обратили внимание и на твой компонент.  Жалуются что он под GPL. Улыбающийся
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #5 : Сентябрь 04, 2010, 17:03 »

Цитировать
2 kuzulis: В обсуждении обратили внимание и на твой компонент.  Жалуются что он под GPL.

Ну я в курсе...  А что они хотят:  И рыбку съесть и н#х&й сесть?! Такого не бывает.
Записан

ArchLinux x86_64 / Win10 64 bit
Lonsdale.85
Гость
« Ответ #6 : Сентябрь 04, 2010, 17:25 »

а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл,  закрыть и т.д..Непонимающий
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #7 : Сентябрь 04, 2010, 18:00 »

Цитировать
а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл,  закрыть и т.д..Непонимающий
о каких таких функциях речь? что под ними подразумеваете? Win32Api функции или классы Qt типа QFile?
Записан

ArchLinux x86_64 / Win10 64 bit
Denjs
Гость
« Ответ #8 : Сентябрь 04, 2010, 18:38 »

а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл,  закрыть и т.д..Непонимающий
1) да) но только вам надо будет изучать дополнительные структуры управления, для того, что бы настраивать скорость и другие параметры работы ком-порта.
2) вам надо будет изучить различия между синхронным и асинхронным режимами открытия и работы с файлом...
3) и, возможно, научиться работать с несколькими потоками программы (для удобства)... в одном потоке - крутить блокирующее чтение из файла - а в другом - выполнять операции основной программы... по крайней мере у меня только так оно стабильно заработало...

ну где-то так)
я например так и делал - открывал файл.
Записан
Lonsdale.85
Гость
« Ответ #9 : Сентябрь 04, 2010, 18:39 »

я помню просто давно на Borlande 6 писал прогу для Com-порта... ну и там указывал стандартные: открыть файл, получал указатель "handle" и т.д....наверно Win32Api))))
Записан
Lonsdale.85
Гость
« Ответ #10 : Сентябрь 04, 2010, 18:42 »

а подойдёт если я буду просто использывать функции работы с файлом...ну типо открыть файл,  закрыть и т.д..Непонимающий
1) да) но только вам надо будет изучать дополнительные структуры управления, для того, что бы настраивать скорость и другие параметры работы ком-порта.
2) вам надо будет изучить различия между синхронным и асинхронным режимами открытия и работы с файлом...
3) и, возможно, научиться работать с несколькими потоками программы (для удобства)... в одном потоке - крутить блокирующее чтение из файла - а в другом - выполнять операции основной программы... по крайней мере у меня только так оно стабильно заработало...

ну я когда давно  на Borlande 6 прогу писал я это всё делал...все параметры вручную вбивал...скорости, режимы и т.д....вообщем можно идти таким путём)))) спасибо)))
Записан
Lonsdale.85
Гость
« Ответ #11 : Сентябрь 06, 2010, 09:46 »

Может кто-нибудь сталкивался с этим?Непонимающий?
Пытаюсь открыть Com портю.
обьявляю переменную:

public:
HANDLE hport;
----------------------
а в ответ от компилятора получаю вот такую ошибку:
'HANDLE' does not name a type
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #12 : Сентябрь 06, 2010, 09:57 »

Код:
#include <qt_windows.h>
или
Код:
#include <windows.h>

и вообще, раз используете Win32Api - то это не имеет к Qt никакого отношения.
« Последнее редактирование: Сентябрь 06, 2010, 10:01 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
Lonsdale.85
Гость
« Ответ #13 : Сентябрь 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*)'
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #14 : Сентябрь 06, 2010, 10:30 »

2 Lonsdale.85,

посмотрите уже исходники тех библиотек (для работы с портами) для Qt, ссылки на которые вам дали + поиск в гугле + поиск на этом форуме.
Ошибка банальнее некуда. Удачи.
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.141 секунд. Запросов: 23.