crossplatform.ru

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

44 страниц V  « < 42 43 44  
Ответить в данную темуНачать новую тему
> QSerialDevice - Библиотека для работы с COM-портами
Алексей1153
  опции профиля:
сообщение 29.4.2014, 23:00
Сообщение #431


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

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

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




Репутация:   34  


kuzulis,
1) "не не не" - а вот и да , я же пробовал

2) установил, иначе бы не слинковалось и не открылся бы порт вообще. А он открылся

3) "//./com5" - не напрягает, библиотека (да и винда) понимает и так, и так. Опять же - я пробовал и так, и так

4) целый день смотрел примеры, читал и искал, консультировался по скайпу с народом - удивляются, что там ещё могло быть такое )

В общем, под Qt4 не завелось. Обновил библиотеку на Qt5 - всё теперь работает (код не менял даже)

Вот такие загадки :)

Сообщение отредактировал Алексей1153 - 29.4.2014, 23:00
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 30.4.2014, 7:02
Сообщение #432


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

Группа: Модератор
Сообщений: 1555
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


Цитата(kuzulis @ 29.4.2014, 20:40) *
Это не напрягает?
m_sp=new QSerialPort("//./com5",0);


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

если вздумал использовать "\\.\" ?? :)

простите, что вмешиваюсь. а что должно тут напрягать? это единственное правильное отображение слэшей в путях, которое понимают все системы (по крайней мере, в С++). обратный слэш - чисто вендозная шняга, поэтому его использование в кроссплатформенном программировании должно быть исключено.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 4.12.2014, 15:23
Сообщение #433





Гости








    


Класс называется QSerialDevice, тогда логично использовать с помощью него для символьных устройсв. Но когда используешь open, класса AbstractSerial, реузльтат false. Это из-за того что символьные устройства не используют настройки типа baud и т.д... Это решаемо...
Вопрос в другом, если все же поправить исходники что бы символьное устройство можно было открыть, то что делать с сигналами readyRead() они постоянно валят.... есть данных или нет. Или что нужно учесть в символьном стройстве для этого?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_человек_*
сообщение 4.12.2014, 15:26
Сообщение #434





Гости








    


Класс называется QSerialDevice, тогда логично использовать с помощью него для символьных устройсв. Но когда используешь open, класса AbstractSerial, реузльтат false. Это из-за того что символьные устройства не используют настройки типа baud и т.д... Это решаемо...
Вопрос в другом, если все же поправить исходники что бы символьное устройство можно было открыть, то что делать с сигналами readyRead() они постоянно валят.... есть данных или нет. Или что нужно учесть в символьном стройстве для этого?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 4.12.2014, 18:51
Сообщение #435


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

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

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




Репутация:   7  


Iron Bug,
Цитата
простите, что вмешиваюсь. а что должно тут напрягать? это единственное правильное отображение слэшей в путях, которое понимают все системы (по крайней мере, в С++). обратный слэш - чисто вендозная шняга, поэтому его использование в кроссплатформенном программировании должно быть исключено.


Эмм.. да, пути к у-вам типа "//./" допустимы и в Windows. НО! Внутри виндовых API они преобразуются в "\\\\.\\"
(по крайней мере об этом упоминается маленькими буковками в MSDN).

НО, в WinCE при задании ком-портов необходимо писать COM1: ... COMn:.

Поэтому ну никак нельзя принять "//./" как кросс-платформенное решение. :)

Кстати, в Qt 5.4.1 баг с путями (для QtSerialPort) типа "//./" пофикшен.

человек,
Цитата
Класс называется QSerialDevice, тогда логично использовать с помощью него для символьных устройсв. Но когда используешь open, класса AbstractSerial, реузльтат false. Это из-за того что символьные устройства не используют настройки типа baud и т.д... Это решаемо...
Вопрос в другом, если все же поправить исходники что бы символьное устройство можно было открыть, то что делать с сигналами readyRead() они постоянно валят.... есть данных или нет. Или что нужно учесть в символьном стройстве для этого?


Не использовать QSerialDevice, а использовать QtSerialPort.

Сообщение отредактировал kuzulis - 4.12.2014, 18:52
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_человек_*
сообщение 5.12.2014, 0:06
Сообщение #436





Гости








    


Цитата(kuzulis @ 4.12.2014, 18:51) *
Не использовать QSerialDevice, а использовать QtSerialPort.

у меня есть ограницения по использованию Qt 4.6. QtSerialPort использует 4.8 или 5 версию
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 17.1.2018, 4:20