crossplatform.ru

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

44 страниц V  « < 41 42 43 44 >  
Ответить в данную темуНачать новую тему
> QSerialDevice - Библиотека для работы с COM-портами
kuzulis
  опции профиля:
сообщение 12.3.2013, 17:31
Сообщение #421


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 12.3.2013, 13:46) *
startAsyncRead

1) первое условие не выполнилось, на чтение буфера
2) второе тоже (то есть указатель забрало нормально)
3) файл не прочло
4) QSerialPort::PermissionError
5) Поменяло на ReadError
6) вернуло false


Как временная заглушка, на винде и на ReadError проверяю. Но это как то не очень, вроде бы.


Странно.
Нашел на работе девайс с FTDI чипом, установил драйвера v 2.08.28 с сайта: http://www.ftdichip.com/Drivers/VCP.htm

И все работает, при выдергивании triggeredEventMask = 0!

ОС: Win8x32

Сообщение отредактировал kuzulis - 12.3.2013, 17:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 12.3.2013, 17:42
Сообщение #422


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


XP...
На семерке не проверял.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 12.3.2013, 17:44
Сообщение #423


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 12.3.2013, 18:42) *
XP...
На семерке не проверял.


Это неважно, т.к. драйвер один на х32 архитектуру -ftser2k.sys (а на х64 тоже его имя ftser2k.sys, но он в другой папочке лежит)

Сообщение отредактировал kuzulis - 12.3.2013, 17:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 24.3.2013, 12:23
Сообщение #424


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

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

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




Репутация:   7  


RazrFalcon,

Кстати да, все-же имеется баг с излучением сигнала ResourceError в Windows.
Предыдущее решение рабоатет частично.

Он (баг) должен воспроизводится, если из открытого ранее у-ва мы что-то прочитали,
а потом через некоторое время выдернули шнурок.

Но если мы просто открыли девайс и выдернули - то вроде бага нет.

Можешь у себя проверить?


UPD: И еще, зря ты на свой QTPLAYGROUND-21 баг та честно утвердительно ответил. :)

Потому что просто возвращать uint16 немного некорректно, т.к. некоторые девайсы (которые НЕ USB, и НЕ PCI)
не имеют вообще никакого VID/PID. Поэтому возвращать 0 в таких случаях некорректно,
потому что нулевые VID/PID реально могут существовать для USB и в некоторых случаях это не ошибка!

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

Даже хочет лишить меня (создателя библиотеки) права голоса, говорит, что я приношу только вред проекту.
И обсирает всех в некомпетентности.

Вот такие вот дела. :(

Сообщение отредактировал kuzulis - 24.3.2013, 12:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 28.3.2013, 12:45
Сообщение #425


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

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

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




Репутация:   7  


RazrFalcon,

Ты у нас единственный человек у которого есть возможность доступа к MacOSX.

Не мог бы ты проверить патч для бага с отображением описания для Bluetooth у-ва?

https://bugreports.qt-project.org/browse/QTPLAYGROUND-25

Вот примерный мануал как проверять:

http://www.prog.org.ru/index.php?topic=953...73695#msg173695


ЗЫ: Или кто-нибудь, проверьте плиз.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 25.4.2014, 21:59
Сообщение #426


фрилансер
******

Группа: Участник
Сообщений: 2935
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


вот понадобился данный класс, стал разбираться.

квест прошёл, но мозг взорвал ))

вот здесь http://qt-project.org/wiki/QtSerialPort_Russian

для Qt4 вместо
CONFIG += serialport


должно быть
LIBS += -lqtserialport

-------------------

тут выше упоминается, что
Цитата(Litkevich Yuriy @ 6.7.2010, 0:40) *
Цитата(kuzulis @ 6.7.2010, 0:49) *
Хто хочет - сделает сам если что.
вот поэтому я и не использую твою библиотеку, также как и QxtSerialPort


а какие ещё классы есть ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.4.2014, 14:02
Сообщение #427


фрилансер
******

Группа: Участник
Сообщений: 2935
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


сел читать из реального порта - и не читаются данные. Порт открывается, а сигнал readyRead() не вызывается, да и принудительный вызов readAll() возвращает 0. Хотя данные в порт с прибора точно идут - я темриналом проверял

это что может быть такое ?

CMainWindow::CMainWindow(QWidget *parent) :
    QDialog(parent,Qt::Window),
    ui(new Ui::CMainWindow)
{
    ui->setupUi(this);
...
...
    m_sp=new QSerialPort("//./com5",0);
    m_sp->setBaudRate(QSerialPort::Baud115200);
    m_sp->setDataBits(QSerialPort::Data8);
    m_sp->setParity(QSerialPort::NoParity);
    m_sp->setStopBits(QSerialPort::OneStop);
//    m_sp->setFlowControl(QSerialPort::NoFlowControl);
    if(m_sp->open(m_sp->ReadWrite))
    {
        QSerialPort::SerialPortError e=m_sp->error();
        qDebug()<<"port opened";
        qDebug()<<"error="<<e;
    }

    connect(m_sp,SIGNAL(readyRead()),this,SLOT(readyRead()));
}

void CMainWindow::readyRead()
{
    //сюда не попадаем вообще
    QByteArray d=m_sp->readAll();
    qDebug()<<d;
}


верси Qt 4.8.2 - может, в этом проблема ?

Сообщение отредактировал Алексей1153 - 28.4.2014, 14:21
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.4.2014, 14:39
Сообщение #428


фрилансер
******

Группа: Участник
Сообщений: 2935
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


какие там другие классы для работы с ком-портом упоминались ? Желательно без наворотов - мне всё равно нужно будет простая вычитка в отдельном потоке
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.4.2014, 21:35
Сообщение #429


фрилансер
******

Группа: Участник
Сообщений: 2935
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


перешёл на Qt 5 , там QSerialPort уже встроен, прописываем

QT += serialport
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 29.4.2014, 17:40
Сообщение #430


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

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

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




Репутация:   7  


1)

Цитата
должно быть

LIBS += -lqtserialport


не не не .. ни в коем случае.

для Qt4 надо:

Цитата
CONFIG += serialport


скорее всего ты просто не установил QtSerialPort в свою Qt4. В Wiki исчерпывающая инфа.

2)

Цитата
сел читать из реального порта - и не читаются данные. Порт открывается, а сигнал readyRead() не вызывается, да и принудительный вызов readAll() возвращает 0. Хотя данные в порт с прибора точно идут - я темриналом проверял

это что может быть такое ?


Это не напрягает?
m_sp=new QSerialPort("//./com5",0);


Может так правильнее тогда:
m_sp=new QSerialPort("\\\\.\\COM5",0);

если вздумал использовать "\\.\" ?? :) Но это можно опустить, достаточно писать просто COM5, там внутри оно само подставит что надо и куда надо.


ПЫСЫ: Может сначала нужно почитать документацию и посмотреть примеры? Или мы "нахрапом" берем? :)

Сообщение отредактировал kuzulis - 29.4.2014, 17:44
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

44 страниц V  « < 41 42 43 44 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 2.2.2023, 18:49