Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: недоходит до конца процесса энумерации
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
lazarev andrey
Добрый день.
делаю устройство usb bulk на at91sam7s, взял исходник hid джойстика и начал переделывать запросы ответы.
дело доходит до запроса Select configuration и после этого отключает устройство.
в чем может быть дело?
кто может толково объяснить описание запросов set_configuration и get_configuration?
aaarrr
На get_configuration Вы должны вернуть все конфигурационные дескрипторы: CONFIGURATION, INTERFACE + специфические дескрипторы интерфейса (если есть), ENDPOINT,

Скорее всего, у Вас просто неправильно подсчитана полная длина в configuration descriptor.
lazarev andrey
спасибо за внимание, но дело оказалось не в этом.
просто это утсройство работает через драйвер, разработанный ADCLab (usbbulk.sys) а там указаны конечные точки с адресами 0х85-IN и 0х02-out, а у sam7s256 только 4-ре конечных точек (ну как я понял из даташита), поэтому я прописал 0х82-in и 0х01-out.
теперь вот надо мыслить как что то поменять. %)
хорошо бы исходник драйвера заиметь, но разработчики не отвечают sad.gif .
а рыться в MSDN что то времени нету sad.gif, хотя чувствуется что пахнет именно этим....
Mozart
Цитата(lazarev andrey @ Aug 18 2008, 13:47) *
спасибо за внимание, но дело оказалось не в этом.
просто это утсройство работает через драйвер, разработанный ADCLab (usbbulk.sys) а там указаны конечные точки с адресами 0х85-IN и 0х02-out, а у sam7s256 только 4-ре конечных точек (ну как я понял из даташита), поэтому я прописал 0х82-in и 0х01-out.
теперь вот надо мыслить как что то поменять. %)
хорошо бы исходник драйвера заиметь, но разработчики не отвечают sad.gif .
а рыться в MSDN что то времени нету sad.gif, хотя чувствуется что пахнет именно этим....

не факт что именно этим... у вас может быть не обрабытывается ресет как положено... а для верности своей правоты поставьте USBIO от Thesycon там и приложение есть которое поможет вам отладится...

Цитата
На get_configuration Вы должны вернуть все конфигурационные дескрипторы: CONFIGURATION, INTERFACE + специфические дескрипторы интерфейса (если есть), ENDPOINT,

Скорее всего, у Вас просто неправильно подсчитана полная длина в configuration descriptor.

вы что-то перепутали, на get_configuration возвращается один байт, а на запрос Get_Descriptor возвращается то что вы сказали и ни граммом меньше
sergeeff
Цитата(lazarev andrey @ Aug 18 2008, 13:47) *
спасибо за внимание, но дело оказалось не в этом.
просто это утсройство работает через драйвер, разработанный ADCLab (usbbulk.sys) а там указаны конечные точки с адресами 0х85-IN и 0х02-out, а у sam7s256 только 4-ре конечных точек (ну как я понял из даташита), поэтому я прописал 0х82-in и 0х01-out.
теперь вот надо мыслить как что то поменять. %)
хорошо бы исходник драйвера заиметь, но разработчики не отвечают sad.gif .
а рыться в MSDN что то времени нету sad.gif, хотя чувствуется что пахнет именно этим....


Обычно в драйвере никакие физические адреса endpoint'ов не указываются, а берутся они как раз из твоего дескриптора USB устройства, который твое устройство драйверу должно отослать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.