QSerialDevice - Библиотека для работы с COM-портами |
Здравствуйте, гость ( Вход | Регистрация )
QSerialDevice - Библиотека для работы с COM-портами |
kuzulis |
26.12.2010, 15:38
Сообщение
#181
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата C:\Qt\2010.05\BuildExamples-build-desktop\examples\anymaster/../../../qserialdevice-qserialdevice/examples/anymaster/anymaster.cpp:30: undefined reference to `operator<<(QDebug, AbstractSerial::BaudRate)' Возьмите сегодняшний master. Я там это исправил. Цитата так сказать, большую зеленую кнопку. не надо нажимать кнопок. запускать надо через Qt Command Promt или заранее прописав в PATH пути к либам Qt и MinGW. Цитата .a помещает в Qt\2010.05\BuildExamples-build-desktop\src\build\debug - это так и должно быть, или должно в Qt\2010.05\qserialdevice-qserialdevice\src ? Должно быть, всегда библиотеку помещает в \BuildExamples-build-desktop\src\build\debug(release). Цитата С полученной .dll моя прога работать не хочет, опять 139 ошибка (там только создание экземпляра класса, больше совсем ничего, и #include <abstractserial.h>, как в примере, и dll лежит рядом с ехе), а примеры проверить не могу. Разбираться что у Вас не работает в Вашем приложении я не буду. Для Вас специально созданы примеры /examples , они работают так как задумано. Сделайте у себя по аналогии. В чем проблема? Цитата .dll помещает опять в Qt\2010.05\BuildExamples-build-desktop\src\build\debug. А куда ей помещать? Если хотите использовать shared (*.dll) библиотеку - то напишите сами себе *.pro файл так как Вам нужно чтобы оно помещало туда куда Вам надо. В общем, почитайте assistent и что нить про разделяемые библиотеки. |
|
|
Гость_Alexk_* |
26.12.2010, 18:17
Сообщение
#182
|
Гости |
Спасибо большое!
Все компилируется и работает. Н-да, только в треде намусорил, виноват. |
|
|
Sasha07 |
7.1.2011, 9:00
Сообщение
#183
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 7.1.2011 Пользователь №: 2330 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток, форумчане!
Возникла проблема (видимо с руками) при чтении/записи с использованием QSerialDevice. ОС ubuntu 10.10, usb-->rs переходник. На том конце управляемый коммутатор. Библиотеку стянул сегодня, собралась без проблем. Вот только как отдать железке данные, понятные ей и забрать понятные мне не пойму... Вывод QDebug : Раскрывающийся текст [/expand] [expand]= New parameters = Device name : "/dev/ttyUSB0" Baud rate : "57600 baud" Data bits : "8 bit" Parity : "None" Stop bits : "1" Flow : "Disable" Char timeout, msec : 0 open mode : OpenMode( "ReadOnly|WriteOnly" ) port error : "Unknown error" port lineStatus : 6 log : 0x9939128 read : "" log : 0x9939128 read : "" log : 0x9939128 read : "" log : 0x9939128 read : "" log : 0x9939128 read : "" log : 0x9939128 read : "" Код: Раскрывающийся текст
Сильно не пинайте - это моя первая программа на qt. |
|
|
kuzulis |
7.1.2011, 14:38
Сообщение
#184
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
1. Зачем в слоте ReadData вы делаете port->waitForReadyRead(500) ?
2. Чтобы посмотреть что читается - понавставляйте qDebug-ов после QByteArray ba = port->read(ba_count); 3. А насчет того как отдавать/забирать данные железке - это вам виднее, читайте документацию, смотрите примеры. |
|
|
Sasha07 |
7.1.2011, 19:46
Сообщение
#185
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 7.1.2011 Пользователь №: 2330 Спасибо сказали: 0 раз(а) Репутация: 0 |
1. Зачем в слоте ReadData вы делаете port->waitForReadyRead(500) ?
2. Чтобы посмотреть что читается - понавставляйте qDebug-ов после QByteArray ba = port->read(ba_count); 3. А насчет того как отдавать/забирать данные железке - это вам виднее, читайте документацию, смотрите примеры. 1. Не заработало корректно - начал лепить и перебирать что попало. 2. Изначально лепил qDebug, в ответ или то что ввожу (т.е. ответа от железки нет) или иероглифы. 3. Видимо у меня проблемы с кодировкой записи в порт, + кривые руки, поэтому и писал: Цитата Сильно не пинайте - это моя первая программа на qt. Если кто - то сталкивался с такой проблемой дайте кусок кода в котором идет преобразование qstring -> to qbytearray при записи и наоборот при чтении. qstring-toASCII, UTF-8 и т.д. не спасает. Заранее благодарен. kuzulis, спасибо за библиотеку! |
|
|
Litkevich Yuriy |
7.1.2011, 22:49
Сообщение
#186
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Sasha07 |
8.1.2011, 9:32
Сообщение
#187
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 7.1.2011 Пользователь №: 2330 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата устройство в символьном (ASCII) режиме работает? Думаю да, гипертерминал и putty с ним нормально работают, в настройках putty по дефолту стоит unicode. |
|
|
Sasha07 |
9.1.2011, 1:03
Сообщение
#188
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 7.1.2011 Пользователь №: 2330 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата устройство в символьном (ASCII) режиме работает? Нашел serial port monitor 4, он разрешает писать следующие типы данных в порт : string, hex, oct, demical, bin. Так вот, при записи string строка пишется и читается корректно, но /r , /n, /r/n , CR - не отправляет железке команду перевода каретки, тип oct, ввожу 15 return отрабатывает. также с bin, и hex, demical. Dump view : 45 6e 74 65 72 20 69 6e 74 6f 20 73 74 70 20 6d Enter into stp m - то что возвращается из порта. Как отправить/ получить символ возврата каретки и символ новой строки (/n) используя данную библиотеку? Заранее благодарен. |
|
|
Litkevich Yuriy |
9.1.2011, 5:41
Сообщение
#189
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Sasha07 |
9.1.2011, 10:02
Сообщение
#190
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 7.1.2011 Пользователь №: 2330 Спасибо сказали: 0 раз(а) Репутация: 0 |
[quote]управляющие символы ASCII используют обратный слэш:
\r \n \rn [quote] Да как только не извращался уже - все равно их железка читает как обычные символы. serial port monitor 4 - программа под винду для диагностики и дампа данных c com port. Непосредственно с нее и работал с коммутатором, чтобы понять чего ему надо. Строки коммутатор воспринимает, а вот управляющие символы в String отправить не получается, коммутатор воспринимает их как строку и все. |
|
|
Текстовая версия | Сейчас: 28.11.2024, 20:54 |