QSerialDevice - Библиотека для работы с COM-портами |
Здравствуйте, гость ( Вход | Регистрация )
QSerialDevice - Библиотека для работы с COM-портами |
kuzulis |
1.7.2009, 20:05
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Доброго времени суток!
Я создал библиотеку для работы с последовательными портами, которая является альтернативой QextSerialPort и хочу выложить её на этот ресурс.. На главной странице этого сайта написано, что если я хочу чем-то поделиться - то я должен в соответствующем разделе форума об этом заявить.. так вот вопрос: ЧТО это за раздел? И как мне это сделать? |
|
|
kuzulis |
3.3.2010, 19:44
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Итак, анонсирую релиз: QSerialDevice v 0.2.0
Изменений много, писать нет смысла, поэтому предоставляю краткую вырезку аннотации: QSerialDevice - это кросс-платформенная библиотека для работы с последовательными устройствами, которая использует фрэймворк Qt4 (см. http://qt.nokia.com/). Требования: OC : Win2K/WinXP/WinVista/Win7 или любой дистрибутив GNU/Linux Qt4 : >= 4.5.0 Процессор : любой (который поддерживается Qt4) Компилятор : любой (который поддерживается Qt4) Заметки: В силу того, что Я (автор) не имею возможности протестировать библиотеку на всех возможных операционных системах, всех компиляторах, процессорах и т.п. - то возможно что библиотека в некоторых случаях не будет работать . Библиотека тестировалась только на: OC : Windows XP Pro Sp3 (win32) и GNU ArchLinux x86_64 Qt4 : от 4.5.3 до 4.6.2 Процессор : AMD Athlon 4400+ 64x2 Socket AM2 Компилятор : gcc, MinGw Теоретически (с небольшими исправлениями исходного кода) можно добиться того, чтобы библиотека работала и на других платформах. Библиотека QSerialDevice содержит следующие классы:
AbstractSerial Класс AbstractSerial - предоставляет самодостаточный набор методов и свойств для легкой и простой работы с последовательными устройствами (последовательными портами) вашего PC (или другого устройства). Класс поддерживает следующие возможности:
(более подробно см. описание AbstractSerial и исходный код) SerialDeviceWatcher Класс SerialDeviceWatcher - является вспомогательным классом для мониторинга последовательных устройств. Класс предоставляет следующие возможности:
(более подробно см. описание SerialDeviceWatcher и исходный код) SerialDeviceInfo Класс SerialDeviceInfo - также является вспомогательным классом для получения информации о последовательном устройстве. Класс предоставляет следующие возможности:
(более подробно см. описание SerialDeviceInfo и исходный код) Скачать релиз можно с домашней страницы проекта: http://fireforge.net/frs/?group_id=199 Скачать последние срезы SVN: http://fireforge.net/snapshots.php?group_id=199 Сообщение отредактировал kuzulis - 3.3.2010, 19:51 |
|
|
mezmay |
30.3.2010, 9:55
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
попробовал...
Сначала написал прогу по получению данных c GPSприемника по COM порту на QextSerialPort, упрощенный фрагмент: // QextSerialPort QextSerialPort *port = new QextSerialPort("COM1"); port->setBaudRate(BAUD4800); port->setFlowControl(FLOW_OFF); port->setDataBits(DATA_8); port->setStopBits(STOP_1); port->setParity(PAR_NONE); if(port->open(QIODevice::ReadOnly)) QByteArray ba = port->read(100); получает данные правильно, но иногда очень сильно тормозит на чтении потом на QSerialDevice, вроде все тоже самое: // QSerialDevice AbstractSerial *port = new AbstractSerial(); port->setDeviceName("COM1"); port->setBaudRate(AbstractSerial::BaudRate4800); port->setFlowControl(AbstractSerial::FlowControlOff); port->setDataBits(AbstractSerial::DataBits8); port->setStopBits(AbstractSerial::StopBits1); port->setParity(AbstractSerial::ParityNone); if(port->open(QIODevice::ReadOnly | QIODevice::Unbuffered)) QByteArray ba = port->read(100); - получает некорректные данные... почему? Даже если QIODevice::Unbuffered убрать
Причина редактирования: Убрал гигантскую цитату
|
|
|
Текстовая версия | Сейчас: 24.11.2024, 1:25 |