реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> CyUSB под QT
ilkz
сообщение Aug 17 2016, 10:30
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Добрый день. Впрсо имею я.

Не получается под QT открыть устройство функцией USBDevice->Open(0). Если полезть в недра, то почему-то не формируется DevPath - он всегда равен "/", хотя должен быть большим и длинным с vid/pid и прочими штуками.
Код такой:
Код
...
pUSBDevice = new CCyUSBDevice();
int deviceCount = pUSBDevice->DeviceCount(); // <- отрабатывает нормально
pUSBDevice->Open(0) // <- вот тут, если полезть внутрь Open, то DevPath почему-то оказывается пустой
...


Такое поведение и с компилятором Mingw и с VS2015.

Тот же самый код, но собранный в виде проекта VS, работает нормально.

Что я не докрутил или куда хотя бы копать для решения проблемы?
Гугл молчит по данному вопросу.

Спасибо.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 17 2016, 12:08
Сообщение #2


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(ilkz @ Aug 17 2016, 13:30) *
Не получается под QT
QuickTime не нужен.
Go to the top of the page
 
+Quote Post
ilkz
сообщение Aug 17 2016, 12:50
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Причем тут QuickTime? Я говорю о QT Creator )))
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 17 2016, 12:56
Сообщение #4


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(ilkz @ Aug 17 2016, 15:50) *
Причем тут QuickTime? Я говорю о QT Creator )))

Вы ощущаете разницу между QT и Qt?
Go to the top of the page
 
+Quote Post
ilkz
сообщение Aug 17 2016, 12:59
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Я конечно не настаиваю, но как мне кажется, из контекста вопроса понятно о чем идет речь. И давайте не будем разводить оффтоп.
Go to the top of the page
 
+Quote Post
Fedor
сообщение Aug 17 2016, 13:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125




Возможно в обработке строк дело. Попробуйте насильно выставить английскую локаль и юникод нужной версии.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 17 2016, 13:33
Сообщение #7


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(ilkz @ Aug 17 2016, 15:59) *
Я конечно не настаиваю, но как мне кажется, из контекста вопроса понятно о чем идет речь. И давайте не будем разводить оффтоп.
Вот зовут вас, скажем, Ваня. А кто-то вас зовёт Вася. Подумаешь, всего одна буква. Из контекста понятно, о ком идёт речь.

Впрочем, о чём это я. Некоторые тутотшние господа инженеры МГц и мГц путают. Тоже пустячок -- одна буква. Из контекста же понятно, о чём речь. Неряшливость в письме выдаёт неряшливость в мыслях.
Go to the top of the page
 
+Quote Post
Gorby
сообщение Aug 17 2016, 13:44
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 449
Регистрация: 28-10-04
Из: Украина
Пользователь №: 1 002



Цитата(andrew_b @ Aug 17 2016, 15:33) *
Вот зовут вас, скажем, Ваня. А кто-то вас зовёт Вася. Подумаешь, всего одна буква. Из контекста понятно, о ком идёт речь.

Впрочем, о чём это я. Некоторые тутотшние господа инженеры МГц и мГц путают. Тоже пустячок -- одна буква. Из контекста же понятно, о чём речь. Неряшливость в письме выдаёт неряшливость в мыслях.


"Жора, не изводите себя, вы же ещё не отсидели за ТО дело!" 'c'
В 9 случаях из 10 мГц в конце концов окажется МГц.
Вы сами-то миллигерцами давно пользовались? Небось тогда же как водку отмеряли мегалитрами...

Из контекста абсолютно ясно было, что никак не QuickTime имелся в виду.


--------------------
Умею молчать на 37 языках...
Go to the top of the page
 
+Quote Post
k155la3
сообщение Aug 17 2016, 15:35
Сообщение #9


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(ilkz @ Aug 17 2016, 13:30) *
. . . . . .
Такое поведение и с компилятором Mingw и с VS2015.
Тот же самый код, но собранный в виде проекта VS, работает нормально.

Какой версии VS ?
Цитата(ilkz @ Aug 17 2016, 13:30) *
. . . . . .
Что я не докрутил или куда хотя бы копать для решения проблемы?
. . .

1. При компляции и линковке обратите внимаение на все Warning. Иногда Warn - это вежливый намек компилятора на грубую ошибку.
2. Как тут правильно советовали, придецца перешерстить все опции прокта,
а также #define - переменные, которые могу присутствовать как в опциях проекта,
так запрятаны в файлах, обычно .h
Посмотрите настройки проектов утилит от Cypress (в исходниках).
Также просмотрите методы из pUSBDevice->XXXXXX - возможно получите дополнительную диагностику.
Сравните эту диагностику рабочего и нерабочего проектов.
3.
Цитата
int deviceCount = pUSBDevice->DeviceCount(); // <- отрабатывает нормально

Ну, допустим deviceCount получили 0 ?
Этож тоже нормально.

Код
    . . . . .
    for (int i=0; i < USBDevice->DeviceCount(); i++)
    {
        if (USBDevice->Open(i)) // а нет ли тут чевой ?
        {
        }
        else
        {
        }

Не факт, что будет на Open( 0 );

Ну, итд итп и прочея и всякая ...
Cypress дает хороший API к своим девайсам в виде dll.
Go to the top of the page
 
+Quote Post
ilkz
сообщение Aug 18 2016, 05:31
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Цитата(k155la3 @ Aug 17 2016, 18:35) *
Какой версии VS ?

В виде отдельного проекта работает и под VS2010 и под VS2015.
Из-под Qt (ага, теперь пишу правильно biggrin.gif maniac.gif ) пробовали с VS2015 - не хочет.
Цитата(k155la3 @ Aug 17 2016, 18:35) *
...
Не факт, что будет на Open( 0 );

Пробовали от 0 до 255 sm.gif Тоже толку ноль... DeviceCount всегда дает 1, если устройство подключено.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Aug 18 2016, 08:07
Сообщение #11


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Проверяли ?
Цитата(Fedor @ Aug 17 2016, 16:04) *
Возможно в обработке строк дело. Попробуйте насильно выставить английскую локаль и юникод нужной версии.


С юникодом могут быть нестыковки. Я его в опциях проекта отключаю и комментирую tchar.h

ps - проверьте какой CyAPI.lib используется - для 32 или 64 версии.


Сообщение отредактировал k155la3 - Aug 18 2016, 09:08
Go to the top of the page
 
+Quote Post
ilkz
сообщение Aug 18 2016, 10:07
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 9-09-11
Пользователь №: 67 084



Всем спасибо за помощь, заработало.
Нужно было подключить следующие либы (в особенности, последнюю):
CyAPI.lib
user32.lib
setupapi.lib
legacy_stdio_definitions.lib

Помогла эта ссылка: http://www.cypress.com/forum/usb-high-spee...cyapilib-vs2015
Go to the top of the page
 
+Quote Post
k155la3
сообщение Aug 18 2016, 11:27
Сообщение #13


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

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(ilkz @ Aug 18 2016, 13:07) *
. . . .
Помогла эта ссылка: http://www.cypress.com/forum/usb-high-spee...cyapilib-vs2015


Хари Кришна, аллилуйя sm.gif

Go to the top of the page
 
+Quote Post
billidean
сообщение Nov 7 2017, 18:47
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Приветствую.
Стоит задача написать подобную прогу на Qt (буквы верные написал, на всякий случай) для обмена с EZ-USB FX3 (Cypress).
Почитал по инету, наткнулся на вашу тему. Ясно, что нужно подключить указанные 4 библиотеки... Первые три я нашел, но вот legacy_stdio_definitions.lib не могу найти.
Подскажите, где её найти? И еще, без неё проект не собирается?

Писал проги для работы с FTDI - проблем вообще не возникло, подключил либу ftd2xx и все. Здесь же я пока только готовлюсь, но уже какие-то грабли начинаются с подключением кучи библиотек... Неужели Cypress менее заботится о своих потребителях?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 8 2017, 06:50
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



У меня EZ-USB (правда, FX2) в bulk нормально работают и с libusb. Что-то супрессовские библиотеки не приглянулись. Не помню уже чем, давно было
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 07:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016