|
Пересел на Visual C++ 2010, пытаюсь понять как работать с USB HID. |
|
|
|
Mar 25 2012, 11:03
|
Гуру
     
Группа: Свой
Сообщений: 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}; Спасибо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
 |
Ответов
(1 - 7)
|
Mar 25 2012, 12:02
|

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

|
Цитата вынудили пересесть на Visual C++ 2010 Что за сложности? С какого продукта пересели? Цитата что значит нижеприведенный кусок кода? Это структура данных, инициализированная значениями (те, что в фигурных скобках). Такого рода данные часто используются как глобально уникальный идентификатор чего-либо, как-бы имя чего-либо, доступ к чему можно получить. Исторически появились как "имена" интерфейсных функций в удалённом (через сеть) вызове кода на исполнение. Цитата не находит заголовочных файлов Обычно эта диагностика содержит и имя ненайденного файла - напишите какое - иногда можно подсказать. Пока предполагаю, что используются заголовочные файлы из набора Windows Drivers Kit (WDK) или Platform SDK.
Сообщение отредактировал Genadi Zawidowski - Mar 25 2012, 12:06
|
|
|
|
|
Mar 25 2012, 12:21
|
Гуру
     
Группа: Свой
Сообщений: 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
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Mar 25 2012, 22:07
|

Профессионал
    
Группа: Участник
Сообщений: 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
|
|
|
|
|
Mar 26 2012, 05:46
|
Гуру
     
Группа: Свой
Сообщений: 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
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
|
Apr 1 2012, 20:28
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(smk @ Mar 29 2012, 15:55)  ...Как можно из консольного приложения сделать GUI?.. (если в форточной студии)указываете компилятору режим сборки, переопределяете другую точку входа(немного отличается мэйн) ну и далее юзаете какую нить мэфэцэ или сами ручками. есть способ сделать это очень просто. генерите два сэмпловых шаблона. гуи и консольного. сравниваете. различии переносите в свой проект. всё (круглый)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|