crossplatform.ru

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

44 страниц V  « < 34 35 36 37 38 > »   
Ответить в данную темуНачать новую тему
> QSerialDevice - Библиотека для работы с COM-портами
Litkevich Yuriy
  опции профиля:
сообщение 25.9.2012, 14:06
Сообщение #351


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

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

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




Репутация:   94  


Цитата(igor_bogomolov @ 19.9.2012, 12:11) *
RS422 обеспечивает соединение точка-точка (в полном дуплексе). RS485 точка-многоточие (полудуплексная передача), RS485-4w точка-многоточие (в полном дуплексе).
RS422 != 2 канала RS485.
это лишь реализация и на логическом уровне. Возьми к примеру BitBus, синхронный режим, там как раз RS-422, по одному каналу гонятся данные, по другому синхросигнал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mmsd
  опции профиля:
сообщение 14.1.2013, 12:51
Сообщение #352


Новичок


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

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




Репутация:   0  


Добрый день. Необходимо отправлять данные в COM порт допустим каждую секунду. И соответсвенно получать ответную информацию. С приемом проблем не возникло благодаря http://robocraft.ru/blog/544.html. Интересует вопрос организации непрерывной отправки команд. Использовать потоки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 14.1.2013, 14:21
Сообщение #353


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

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

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




Репутация:   7  


Цитата(mmsd @ 14.1.2013, 13:51) *
Интересует вопрос организации непрерывной отправки команд. Использовать потоки?


Нет, QTimer. Также вместо QSerialDevice лучше использовать QtSerialPort

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 22.2.2013, 14:09
Сообщение #354


Zombie Mod
*****

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

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




Репутация:   212  


А багтрекер есть?

У меня на мак не удается получить инфу об устройстве, только portName. Все остальные поля доступные в QtSerialPortInfo пустые. На win и linux норм.
Мак 10.8.
QtSerialPort из гита, вчерашний.
Устройство - FTDI.

Сообщение отредактировал RazrFalcon - 22.2.2013, 14:10
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 23.2.2013, 11:37
Сообщение #355


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 22.2.2013, 15:09) *
А багтрекер есть?


Да, есть. См. Отслеживание ошибок
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 23.2.2013, 16:59
Сообщение #356


Zombie Mod
*****

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

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




Репутация:   212  


Это видел. Думал есть отдельный.

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

В догонку.
Можно ли как то отловить что устройство отключили/выдернули?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 23.2.2013, 17:20
Сообщение #357


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 23.2.2013, 16:59) *
Это видел. Думал есть отдельный.

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

Блин, только что проверил на 10.6.8 в виртуалке с чипом PL2303 - все работает.
Можешь пройтись отладчиком сам и поглядеть что там да как?

Например, открой пример enumerator и слинкуй его статически с библиотекой:

1. Подправь enumerator.pro

удали:
greaterThan(QT_MAJOR_VERSION, 4) {
    QT       += widgets serialport
} else {
    include($$QTSERIALPORT_PROJECT_ROOT/src/serialport/qt4support/serialport.prf)
}

и всесто этого добавь:
include(../../../qtserialport/src/serialport/serialport-lib.pri)


2. При компиляции будет ругаться что не найдены

#include <QtSerialPort/QSerialPortInfo>

и т.п., просто замени на:
#include "qserialportinfo.h"

и т.п.

3. Добавь в баг-трекере типы используемых USB/Serial конвертеров с которыми не работает.


Цитата(RazrFalcon @ 23.2.2013, 16:59) *
В догонку.
Можно ли как то отловить что устройство отключили/выдернули?

Просто так - Нет.

Можно только если оно до этого порт был открыт и в этот момент выделнули,
тогда выстрелит сигнал ResourceError.

Сообщение отредактировал kuzulis - 23.2.2013, 17:21
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.2.2013, 15:53
Сообщение #358


Zombie Mod
*****

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

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




Репутация:   212  


Ок. Сегодня попробую.

Цитата
Можно только если оно до этого порт был открыт и в этот момент выделнули, тогда выстрелит сигнал ResourceError.

Да, устройство открыто. Сигнала такого не нашел. Он в QSerialPort?

Сообщение отредактировал RazrFalcon - 24.2.2013, 15:54
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 24.2.2013, 18:06
Сообщение #359


Zombie Mod
*****

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

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




Репутация:   212  


Не совсем понял что дебагить то...
Надел пару скринов на всякий случай:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 24.2.2013, 18:37
Сообщение #360


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

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

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




Репутация:   7  


Цитата(RazrFalcon @ 24.2.2013, 16:53) *
Да, устройство открыто. Сигнала такого не нашел. Он в QSerialPort?


Есть такой код ошибки ResourceError. Вот он и должен выстрелить.
Хотя в MacOSX это не проверялось, т.к. ни у кого нет MacOSX :)

Цитата(RazrFalcon @ 24.2.2013, 16:53) *
Не совсем понял что дебагить то


Ну, пройтись по этим всем строчкам и посмотреть, находит ли оно вообще что-то,
каунтеры все по нулям?

Важно от тебя получить это:
1. Вообще, имена портов находит или тоже пустые все?
2. Если находит, то запусти в MacOSX утилиту типа IORegistryExplorer или как-то так
называться должна (естественно, твой шнурок должен быть втыкнут).
Эта йтилита "стандартная" находится в папке Applications или Utils в директории с XCode.
Так вот, эта утилита должна показать все зарегистрированные устройства, в том числе и твой FTDI
шнурок. Ты там просмотри ветки в USB на предмет наличия твоего девайса, плюс на предмет наличия там VID/PID
и т.п. И если найдешь - то приложи скрины всех этих веток от твоего девайса до его корневого USB хаба.

UPD:

И кстати, этот макрос:

#if defined(MAC_OS_X_VERSION_10_4) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_4)
#  include <IOKit/serial/ioss.h>
#endif


корректно в 10.8 обрабатывается? ioss.h Реально подключается?

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

44 страниц V  « < 34 35 36 37 38 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 19.4.2024, 15:37