crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> проблема с QExtSerialPort
chu
  опции профиля:
сообщение 18.2.2013, 16:21
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


Использую QExtSerialPort для работы с СОМ портом. СОМ порт создается при подключении устройства МОХА (USB-RS конвертор).
Пытаюсь записать массив чаров в порт:
int bytes = port->write(pkt, len);

функция write возвращает -1, хотя должна возвращать длину записанных данных.
port->errorString()
возвращает "Неизвестную ошибку".
И что самое интересное, сам массив в порт передается.
В чем может быть проблема?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.2.2013, 17:56
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Копать с помощью отладчика, не исключено, что это драйвер виртуального порта так себя ведёт
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
chu
  опции профиля:
сообщение 19.2.2013, 9:53
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


Отладчик не хочет залазить внутрь функции write :(
Сегодня определил, что при смене QueryMode с EventDriven на Polling записанные байты считаются нормально и запись проходит успешно, но возникла проблема чтения с порта (сигнал readyRead не срабатывает).


Еще забыл упамянуть: функция lastError() возвращали код ошибки 14. Где можно найти описание этой ошибки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 19.2.2013, 10:25
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата
Использую QExtSerialPort для работы с СОМ портом.


Зря, лучше использовать QtSerialPort.

Цитата
Еще забыл упамянуть: функция lastError() возвращали код ошибки 14. Где можно найти описание этой ошибки?


http://www.ioplex.com/~miallen/errcmp.html

Сообщение отредактировал kuzulis - 19.2.2013, 10:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
chu
  опции профиля:
сообщение 19.2.2013, 11:28
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(chu @ 19.2.2013, 9:53) *
Зря, лучше использовать QtSerialPort.

Не нашел как установить сей модуль на Windows XP. Не подскажешь как?
Цитата(kuzulis @ 19.2.2013, 10:25) *

Спасибо, полезно, хотя там и нет описания ошибок для Windows, думаю оно не отличается от того что прописано ошибке 14 на остальных системах ...
14 - Bad address. Что бы это могло значить? Адрес порта (СОМ2) виден в системе и команда open срабатывает успешно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 19.2.2013, 11:49
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата(chu @ 19.2.2013, 12:28) *
Не нашел как установить сей модуль на Windows XP. Не подскажешь как?


Там же в вики все написано как
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
chu
  опции профиля:
сообщение 19.2.2013, 12:49
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(kuzulis @ 19.2.2013, 11:49) *
Там же в вики все написано как

сделал как там написано : 1) qmake 2) mingw32-make 3) mingw32-make install
все прошло без ошибок.
создаю проект. в файле проекта добавляю CONFIG += serialport, но вот строчки
#include <QtAddOnSerialPort/serialport.h>
#include <QtAddOnSerialPort/serialportinfo.h>

компилятор подчеркивает, не находит этих файлов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 19.2.2013, 12:54
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Блин, ну ты ж примеры посмотри, Вики не успевает обновляться.

Попробуй:
#include <QtSerialPort/QSerialPortInfo>
#include <QtSerialPort/QSerialPort>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
chu
  опции профиля:
сообщение 19.2.2013, 13:02
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


kuzulis, спасибо! Буду пробовать с QtSerialPort
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
chu
  опции профиля:
сообщение 19.2.2013, 13:56
Сообщение #10


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 13.11.2011
Пользователь №: 2997

Спасибо сказали: 0 раз(а)




Репутация:   0  


И сразу проблема.
При сборке ошибка
Цитата
cannot find -lQtSerialPort
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.4.2024, 14:29