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

 
 
> Пересел на Visual C++ 2010, пытаюсь понять как работать с USB HID.
smk
сообщение Mar 25 2012, 11:03
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Сложности с написанием приложений для обмена по USB вынудили пересесть на Visual C++ 2010. Вот сейчас пробую наладить обмен с USB HID (Custom_HID от Keil). Есть родной пример от ST, но он для Visual C++ 2005 и в Visual C++ 2010 не собирается. Пишет, что не находит заголовочных файлов. Взял пример от Microchip для HID на основе PicKit2. Заменил VID и PID. Устройство программа увидела и теперь нужно сделать обмен. Для начала хочу начать принимать то, что передает макетка (Демопрограмма от ST принимает, там 2 байта на выход и 2 байта на вход). Вот собственно хотелось бы понять как это сделать. В частности что значит нижеприведенный кусок кода?

Код
    //Globally Unique Identifier (GUID) for HID class devices.  Windows uses GUIDs to identify things.
    GUID InterfaceClassGuid = {0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30};


Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Genadi Zawidowsk...
сообщение Mar 25 2012, 12:02
Сообщение #2


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
вынудили пересесть на Visual C++ 2010

Что за сложности?
С какого продукта пересели?
Цитата
что значит нижеприведенный кусок кода?

Это структура данных, инициализированная значениями (те, что в фигурных скобках).
Такого рода данные часто используются как глобально уникальный идентификатор чего-либо, как-бы имя чего-либо, доступ к чему можно получить.
Исторически появились как "имена" интерфейсных функций в удалённом (через сеть) вызове кода на исполнение.
Цитата
не находит заголовочных файлов

Обычно эта диагностика содержит и имя ненайденного файла - напишите какое - иногда можно подсказать.
Пока предполагаю, что используются заголовочные файлы из набора Windows Drivers Kit (WDK) или Platform SDK.

Сообщение отредактировал Genadi Zawidowski - Mar 25 2012, 12:06
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 25 2012, 12:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(Genadi Zawidowski @ Mar 25 2012, 15:02) *
Что за сложности?
С какого продукта пересели?

Это структура данных, инициализированная значениями (те, что в фигурных скобках).
Такого рода данные часто используются как глобально уникальный идентификатор чего-либо, как-бы имя чего-либо, доступ к чему можно получить.
Исторически появились как "имена" интерфейсных функций в удалённом (через сеть) вызове кода на исполнение.

Обычно эта диагностика содержит и имя ненайденного файла - напишите какое - иногда можно подсказать.
Пока предполагаю, что используются заголовочные файлы из набора Windows Drivers Kit (WDK) или Platform SDK.

Пересел с C++Builder. Перепробовал массу подходов для чтения-писания USB HID и ничего из этого не вышло. Важный момент это чтобы обходиться без дополнительных драйверов. По ходу обнаружил, что для Visual примеров заметно больше. Собственно и решил прицениться.

Про структуру - хотелось бы разобраться со значениями. Они касаются USB?

Я Вам проект целиком прикрепляю. Суть в том, что найдя и дав один тут же требуется другой и т.д. А когда даш все, то пишет что не может собрать т.к. код от старой версии и еще какие-то ошибки. Если подскажете как его запустить под Visual C++ Express буду очень благодарен.
Прикрепленный файл  USB_HID_Demonstrator.rar ( 4.11 мегабайт ) Кол-во скачиваний: 111




--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Mar 25 2012, 22:07
Сообщение #4


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(smk @ Mar 25 2012, 16:21) *
Пересел с C++Builder. Перепробовал массу подходов для чтения-писания USB HID и ничего из этого не вышло. Важный момент это чтобы обходиться без дополнительных драйверов. По ходу обнаружил, что для Visual примеров заметно больше. Собственно и решил прицениться.

Про структуру - хотелось бы разобраться со значениями. Они касаются USB?

Я Вам проект целиком прикрепляю. Суть в том, что найдя и дав один тут же требуется другой и т.д. А когда даш все, то пишет что не может собрать т.к. код от старой версии и еще какие-то ошибки. Если подскажете как его запустить под Visual C++ Express буду очень благодарен.
Прикрепленный файл  USB_HID_Demonstrator.rar ( 4.11 мегабайт ) Кол-во скачиваний: 111



Ругань на файлы от старой версии решается Build -> Clean или Clean Solution (трёт объектники, всё будет созданно при компиляции).

Под VISUAL C++ 6.0 собрался без звука. Rebuild All. Но у меня установлен Microsoft Platform SDK February 2003 - я его не отключал для проверок.

Под Visual C++ 2008 express edition собраться в принципе не может - так как проект испольует библиотеку классов MFC - а её с express edition не дают. Полных версий компиляторов поновее у меня нет.

Сообщение отредактировал Genadi Zawidowski - Mar 25 2012, 22:08
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 26 2012, 05:46
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Благодарю за внесение ясности. Были подобные сомнения. Спасибо.

Есть примерчик от Microchip. Он под 2010 Express нормально собирается. Вот только не пойму как его для примеров от ST приспособить. А так устройство видит и даже что-то в него отправляет да еще и без ошибок.

Выкладываю примерчик и дескрипторы со стороны устройства. Может на досуге кто подскажет куда копать. Стремлюсь к результату (шаблону под разные проекты), который позволит пересылать в обе стороны произвольный массив с количеством байт от 1 до 0хFFFF. И пересылать тогда, когда: 1) ПК хочет забрать и массив готов, 2) устройство хочет отдать.

Прикрепленный файл  Microsoft_Visual_C___2005_Express.rar ( 6.72 мегабайт ) Кол-во скачиваний: 100

Прикрепленный файл  usb_desc.rar ( 2.52 килобайт ) Кол-во скачиваний: 105


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 26 2012, 15:23
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Благодаря подсказкам установил VC++ 2005 Prof. Все собралось и заработало. Как можно увидеть форму конструктора форм в готовом проекте? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
smk
сообщение Mar 29 2012, 11:55
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Нашел такую вот штуку http://www.signal11.us/oss/hidapi/ . Пример запустился и работает в Visual C++ 2010 Express. Проблема в том, что в примере приложение консольное, а хочется GUI. Тот, который есть в примере, не запускается. Как можно из консольного приложения сделать GUI? Прошу помочь. Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Apr 1 2012, 20:28
Сообщение #8


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(smk @ Mar 29 2012, 15:55) *
...Как можно из консольного приложения сделать GUI?..


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

есть способ сделать это очень просто.
генерите два сэмпловых шаблона. гуи и консольного. сравниваете. различии переносите в свой проект. всё

(круглый)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:01
Рейтинг@Mail.ru


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