crossplatform.ru

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

14 страниц V  « < 2 3 4 5 6 > »   
Ответить в данную темуНачать новую тему
> QtSerialPort, Проблема сборки QtSerialPort под Windows
NAUGREEM
  опции профиля:
сообщение 18.1.2013, 11:49
Сообщение #31


Студент
*

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

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




Репутация:   0  


спасибо, собрал...

заметил такой момент:
в unix варианте после чтения из порта есть такая строка:
readBuffer.chop(bytesToRead - qMax(readBytes, qint64(0)));

в win варианте ничего похожего нету...
в связи с этим рамер буфера чтения (который выводится командой bytesAvailable(), про которую я ранее писал) так и остаётся 512 - то есть той величины, на которую он быз зарезервирован перед чтением...

складывается впечатление, что кто-то что-то для венды недоделал, или я взял исходник не и того места...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 18.1.2013, 15:15
Сообщение #32


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

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

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




Репутация:   7  


Цитата(NAUGREEM @ 18.1.2013, 12:49) *
складывается впечатление, что кто-то что-то для венды недоделал, или я взял исходник не и того места...


Да, есть касячок в реализации bytesAvailable() для винды.
Нужно чтобы он возвращал не размер буфера, а переменную actualReadBufferSize.

Сообщение отредактировал kuzulis - 18.1.2013, 15:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 19.1.2013, 20:46
Сообщение #33


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

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

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




Репутация:   7  


Вроде исправил, обновись.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 24.1.2013, 14:50
Сообщение #34


Студент
*

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

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




Репутация:   0  


Цитата(kuzulis @ 19.1.2013, 21:46) *
Вроде исправил, обновись.


обновил - заработало...
спасибо за оперативность)

но нашёл ещё глюк:
результат функции bytesAvailable() перед функцией clear() и после неё абсолютно одинаковый, хотя буфер чтения вроде должен обнулиться...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 24.1.2013, 21:04
Сообщение #35


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

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

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




Репутация:   7  


обновись еще раз, сегодня был коммит на исправление clear():

https://codereview.qt-project.org/#change,45274
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 5.2.2013, 12:32
Сообщение #36


Студент
*

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

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




Репутация:   0  


Доброго всем!

Заметил такую штуку:

когда
dev.write(wbuf);
dev.waitForBytesWritten(100);

то
dev.waitForReadyRead(100); == тру
dev.bytesAvailable(); > 0


а когда
dev.write(wbuf);
dev.waitForBytesWritten(100);
msleep(50);

то
dev.waitForReadyRead(100); == фолс
dev.bytesAvailable(); == 0


qt4.8.4 Linux
всё делается в отдельном потоке...

вопрос: куда деваются прочитанные данные во время сна?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 5.2.2013, 13:24
Сообщение #37


Студент
*

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

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




Репутация:   0  


Хотя возможно у меня был глюк - после переподключения девайса больше такого не замечал...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 13.3.2013, 23:01
Сообщение #38


Студент
*

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

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




Репутация:   0  


Доброго всем!
Заметил недавно проблему - на USB-UART Com порте связь без проблем, а на Bluetooth Com порте порт отрывается не всегда, и в ErrorString пишет "отказано в доступе"...
Пробовал терминалкой - никаких проблем... открывает порт всегда с первого раза и не теряет связь, а если с помошью QtSerialPort - то через некоторое время (в пределах минуты) оказывается, что открытый порт уже свободен...
Кто-нибудь сталкивался с такой проблемой?
Может с блютузом надо как-то по особенному работать?

библиотеку брал из Git 10-го марта...
Qt 4.8.4, mingw32 (gcc-4.7)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 14.3.2013, 7:16
Сообщение #39


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

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

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




Репутация:   34  


NAUGREEM, может, его периодически надо дрюкать - к примеру раз в полминуты, если не было активности, принудительно пишем или читаем 0 байтов



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
NAUGREEM
  опции профиля:
сообщение 14.3.2013, 12:28
Сообщение #40


Студент
*

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

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




Репутация:   0  


Цитата(Алексей1153 @ 14.3.2013, 8:16) *
NAUGREEM, может, его периодически надо дрюкать - к примеру раз в полминуты, если не было активности, принудительно пишем или читаем 0 байтов


Интересно - создатели терминалки так же делали?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

14 страниц V  « < 2 3 4 5 6 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 25.11.2024, 7:57