Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пересел на Visual C++ 2010
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
smk
Сложности с написанием приложений для обмена по 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};


Спасибо.
Genadi Zawidowski
Цитата
вынудили пересесть на Visual C++ 2010

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

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

Обычно эта диагностика содержит и имя ненайденного файла - напишите какое - иногда можно подсказать.
Пока предполагаю, что используются заголовочные файлы из набора Windows Drivers Kit (WDK) или Platform SDK.
smk
Цитата(Genadi Zawidowski @ Mar 25 2012, 15:02) *
Что за сложности?
С какого продукта пересели?

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

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

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

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

Я Вам проект целиком прикрепляю. Суть в том, что найдя и дав один тут же требуется другой и т.д. А когда даш все, то пишет что не может собрать т.к. код от старой версии и еще какие-то ошибки. Если подскажете как его запустить под Visual C++ Express буду очень благодарен.
Нажмите для просмотра прикрепленного файла

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

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

Я Вам проект целиком прикрепляю. Суть в том, что найдя и дав один тут же требуется другой и т.д. А когда даш все, то пишет что не может собрать т.к. код от старой версии и еще какие-то ошибки. Если подскажете как его запустить под Visual C++ Express буду очень благодарен.
Нажмите для просмотра прикрепленного файла



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

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

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

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

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

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
smk
Благодаря подсказкам установил VC++ 2005 Prof. Все собралось и заработало. Как можно увидеть форму конструктора форм в готовом проекте? Спасибо.
smk
Нашел такую вот штуку http://www.signal11.us/oss/hidapi/ . Пример запустился и работает в Visual C++ 2010 Express. Проблема в том, что в примере приложение консольное, а хочется GUI. Тот, который есть в примере, не запускается. Как можно из консольного приложения сделать GUI? Прошу помочь. Спасибо.
kolobok0
Цитата(smk @ Mar 29 2012, 15:55) *
...Как можно из консольного приложения сделать GUI?..


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

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

(круглый)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.