Qt Serial Port/ru

From Qt Wiki
Jump to: navigation, search
English Ниже приведены рекомендуемые процедуры сборки библиотеки для Qt4/Qt5. cd serialport-build qmake ../serialport-src/qtserialport.pro make [или 'nmake' для MSVC компилятора, или 'mingw32-make' для MinGW компилятора] make install [или 'nmake install' для MSVC компилятора, или 'mingw32-make install' для MinGW компилятора] Примечание: В *nix системах для установки возможно потребуются права суперпользователя: sudo make install Если вы используете компилятор MSVC, то для сборки нужно выполнить команды: nmake nmake install

Использование

При использовании библиотеки необходимо ее подключить в *.pro файл пользовательского проекта, это действие для Qt4 и Qt5 немного отличается:

Qt4

CONFIG = serialport

Qt5

QT= serialport

Подключение заголовочных файлов от QtSerialPort в пользовательский проект для Qt4 и Qt5 одинаковое:

  1. include <QSerialPort>
  2. include <QSerialPortInfo>

Использование MSVS в качестве IDE

При использовании библиотеки qserialport, нужно прописать в конфиге проекта:

  • в Configuration Properties > C/C++ > General > Additional Include Directories добавляем

$(QTDIR)\include\QtSerialPort

  • в Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions

QT_SERIALPORT_LIB

  • в Configuration Properties > Linker > Input > Additional Dependencies добавляем

QtSerialPortd.lib

Подключение заголовочных файлов от QtSerialPort в пользовательский проект для VS :

  1. include <QtSerialPort/QSerialPort>
  2. include <QtSerialPort/QSerialPortInfo>

Простой пример

Ниже представлен простейший пример реализации main.cpp:

  1. include <QCoreApplication>
  2. include <QDebug>
  1. include <QSerialPort>
  2. include <QSerialPortInfo>

QT_USE_NAMESPACE

int main(int argc, char *argv[]) {

QCoreApplication a(argc, argv);

// Example use SerialPortInfo

foreach (const SerialPortInfo &info, SerialPortInfo::availablePorts()) {
qDebug() << "Name : " << info.portName();
qDebug() << "Description : " << info.description();
qDebug() << "Manufacturer: " << info.manufacturer();

// Example use SerialPort

SerialPort serial;
serial.setPort(info);
if (serial.open(QIODevice::ReadWrite))
serial.close();
}

return a.exec(); }

Генерация документации

Нет необходимости в сборке документации, потому что текущий снимок документации находится тут.

Для желающих принять участие в разработке

Вся разработка ведется через Gerrit, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.

Подробнее о процессе регистрации и разработки можно прочитать здесь

Возможные проблемы

Заполнить

Отслеживание ошибок

  1. Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  2. Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  3. Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.
  4. Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.
Deutsch Русский Polski Nederlands Português Español Українською فارسی عربي 한국어 Suomi Català Italiano 日本語 Français Magyar ಕನ್ನಡ हिन्दी ภาษาไทย 简体中文 Български


QtSerialPort

Примечание: Эта страница в стадии разработки, требует пересмотра.

Новости

Заполнить

26.02.2013 - Проект перемещен из песочницы в основную ветвь Qt5!

Краткое описание

Модуль QtSerialPort - это дополнение к библиотеке Qt5, которое предоставляет единый интерфейс для работы как аппаратными, так и с виртуальными последовательными портами.

Примечание: Также добавлена поддержка и библиотеки Qt4.

Последовательный интерфейс благодаря своей простоте и надежности до сих пор популярен в промышленности, при разработке встраиваемых устройств, робототехнике и т.п.

Использование модуля QtSerialPort позволяет разработчикам значительно сократить время на реализацию Qt-приложений, требующих доступ к последовательным интерфейсам.

История

Модуль QtSerialPort берет свое начало из библиотеки QSerialDevice (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/

Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.

Функциональность

В настоящее время API модуля содержит два класса SerialPort и SerialPortInfo.

SerialPort

Класс SerialPort является основным классом модуля и предоставляет набор основных методов и свойств для доступа к ресурсам последовательных портов.

Поддерживает следующие операционные системы:

{background:#009900}. |. Операционная система |. Поддержка |. Примечание

Windows NT/2K/XP/Vista/7 ДА Полная поддержка Windows CE ДА Тестировалось только на 5 и 6 платформах в эмуляторе Gnu/Linux ДА Полная поддержка MacOSX ДА Полная поддержка Другие Unix ДА Все POSIX совместимые Symbian[1] ДА Частично, тестировалось только в эмуляторе (*)


SerialPortInfo

Класс SerialPortInfo является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.

Поддерживает следующие операционные системы:

{background:#009900}. |. Операционная система |. Поддержка |. Примечание

Windows NT/2K/XP/Vista/7 ДА Полная поддержка (с использованием SetupAPI) Windows CE ДА Тестировалось только на 5 и 6 платформах в эмуляторе Gnu/Linux ДА Полная поддержка (с использованием libudev или простой перебор в /dev) MacOSX ДА Полная поддержка Другие Unix ДА Все POSIX совместимые (только простой перебор в /dev) Symbian[2] ДА Частично, тестировалось только в эмуляторе ()


Просмотр исходного кода

Недавно запущено публичное зеркало репозитория проекта на Gitorious

Теперь каждый желающий может свободно и оперативно через WEB браузер просмотреть последние изменения в исходном коде проекта.

Получение исходного кода

Для пользователей

Для получения текущего снимка исходного кода репозитория в виде архива достаточно из WEB браузера перейти по этой ссылке, загрузка начнется автоматически.

Для желающих использовать Git можно выполнить следующую команду:

git clone git://code.qt.io/qt/qtserialport.git

Для разработчиков

Получить исходный код и внести свой вклад в разработку могут только зарегистрированные в Gerrit разработчики, используя Git (настройка Gerrit).

Получить исходный код можно так:

git clone ssh://<username>@codereview.qt.io:29418/qt/qtserialport.git

где username - логин зарегистрированного в Gerrit пользователя

Выбор нужной версии библиотеки

Чтобы посмотреть все существующие ветки библиотеки, нужно с помощью git выполнить следующую команду в скаченном репозитории: git branch -a Переключение в нужную ветку(например, для qt4 одна ветка) выполняется с помощью: git checkout qt4-dev

Сборка и установка

Примечание: При сборке лучше использовать "теневую сборку", когда для результатов сборки используется отдельная директория. Это позволяет оставить директорию с исходными кодами в нетронутом виде, не засоренную продуктами сборки.

Перед сборкой необходимо: установить Perl[3]

  • убедиться что корректно настроены переменные окружения:

' правильно указаны пути к установленной Qt4/Qt5 ' правильно указаны пути к используемым компиляторам ' правильно указаны пути к Perl[4]

  • предварительно создать директорию для сборки которая находится на том же уровне, что и директория с исходными кодами

/