Название: qextserialport windows gui Отправлено: lecas от Июль 09, 2010, 18:04 Для работы с портами использую qextserialport, если в файле проекта закоментировать
Код: CONFIG +=console Код: c:/qt/2010.02.1/mingw/bin/../lib/gcc/mingw32/4.4.0\libgcc_eh.a(unwind-dw2.o): In function `Unwind_Resume': Название: Re: qextserialport windows gui Отправлено: labview от Август 06, 2010, 13:11 Я этой настройки в qextserialport.pro не нашёл, и даже если она там была бы, зачем её закоменнтировать?
У меня компилируется нормуль, сначала qmake qextserialport.pro а потом make Но у меня есть другая проблема, не компилируется пример enumerator, при чём на работе получилось его скомпилировать, а дома не могу. Комп один и тот же. У меня такое чуство, что там есть небольшой, но очень неприятный баг, при обращении к registry. Сегодня ещё раз попробую скомпилировать на работе, и если получится, то подтвердится. Дело в том, что у меня заинсталлировано около 30 портов. Все они виртуальные, 4 из них USB-шные, а остальные Ethernet-ские. При этом, если USB адаптер не подключен, то и порт из device manager исчезает, но Ethernet-ские хоть подключены, хоть нет остаются в device manager. То есть адаптера нет, а порт есть (но наполовину). И мне кажется в этом месте компайлер ошибочно ищет инфу в registry. Ошибка какая то, что референс не найден. Хотя по идее компайлер должен компилировать приложение, а не искать данные в регистрах. Может быть я ошибаюсь. Другие два примера прекрасно компилируются и выполняются. Название: Re: qextserialport windows gui Отправлено: labview от Август 06, 2010, 14:03 Моё предположение не оправдалось. Скажите с чем могут быть связаны следующие ошибки при компиляции?
Спасибо. Код: C:\MinGW\bin\mingw32-make.exe: Entering directory `D:/C++/qextserialport-1.2win-alpha/examples/enumerator-build-desktop' Название: Re: qextserialport windows gui Отправлено: labview от Август 07, 2010, 14:23 Скомпилировать и слинковать удалось, но только если используется динамическая линковка.
Вопрос по самой библиотеке - в ней используются несколько DEFINE для Baud Rate. Неужели нельзя самому задать свою Baud Rate? Название: Re: qextserialport windows gui Отправлено: Mikhail от Август 07, 2010, 21:08 можно добавить BAUD до мегабита.
Название: Re: qextserialport windows gui Отправлено: labview от Август 08, 2010, 21:49 Я нашёл только вот это:
Код: 00078 { Как можно добавить другие? Название: Re: qextserialport windows gui Отправлено: Mikhail от Август 09, 2010, 09:07 Придется поправить файл win_qextserialport.cpp.
В void Win_QextSerialPort::setBaudRate(BaudRateType baudRate) для Windows добавить после /*256000 baud*/ case BAUD256000: TTY_PORTABILITY_WARNING("Win_QextSerialPort Portability Warning: POSIX does not support 256000 baud operation."); Win_CommConfig.dcb.BaudRate=CBR_256000; break; добавить /*512000 baud*/ case 22: /*1024000 baud*/ case 23: Win_CommConfig.dcb.BaudRate=baudRate; break; Для Линукс аналогично поправить файл posix_qextserialport.cpp Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 11:18 Благодарю!!!
Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 15:38 Скажите, а можно ведь просто добавить кейс default, ведь на самом деле ядро поддерживает "любую" Baud Rate !?
Название: Re: qextserialport windows gui Отправлено: lit-uriy от Август 09, 2010, 15:40 обычно на компе более чем 128кб/с работать не будет. на редких компах 256кб/с работает.
Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 15:52 Дело в том, что некоторые USB и многие Ethernet адаптеры поддерживают более высокие скорости передачи, но на самом деле обычный настоящий UART не поддерживает их.
Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 17:18 В win_qextserialport.cpp добавил следующее:
Код: default: В своей функции для конфигурации сделал следующее: Код: void SerialThread::open(QString newport, QString baud) Вроде что то неправильно, скажите плиз почему :) Название: Re: qextserialport windows gui Отправлено: Mikhail от Август 09, 2010, 19:18 Что неправильно то. В чем вопрос. ф скорость более 256 реально использовал
Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 19:50 Всё ок, перепутал передаваемые параметры сначала, всё ок теперь.
Да, скорости выше 256000 реально использовал, отвечаю. Вот с этим адаптером под Виндой если что: http://www.cooldrives.com/ettose.html Название: Re: qextserialport windows gui Отправлено: labview от Август 09, 2010, 20:26 Сделал так:
Код: void SerialThread::run() Но уже при старте проги при закрытом порте, по какой то причине port->isOpen() выдаёт TRUE, и прога вылетает. Что то не так? Спасибо. |