Знатокам USB контроллера PDIUSBD12
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено xmir 17 июня 2004 г. 07:56

Начал я разбираться с данным контроллером и возник следующий затык:
после подключения устройства к персоналке идет setup пакет по EP0_OUT - GET_DESCRIPTOR на 64 байта, пишу 16 первых байт дескриптора в буффер EP0_IN, приходит IN пакет по EP0_IN, пишу оставшиеся 2 байта в буффер EP0_IN. По EP0_OUT приходит DATA пакет нулевой длинны. Затем идет bus reset. Дальше по EP0_OUT приходит setup пакет SET_ADRESS, пишу в буффер EP0_IN данные нулевой длинны, приходит прерывание от EP0_IN, даю комманду контроллеру SET_ADRESS с байтом 0x82 (wValue в setup пакете SET_ADRESS было 0x0002), а затем вместо того чтобы получить снова GET_DESCRIPTOR идет bus reset и все опять повторяется два раза.
Что я делаю не так?
Кстати, после получения прерывания от EP0_IN смотрю байт полученный коммандой контроллера Read Last Transaction Status, так он всегда равен нулю. То есть млачший бит в нуле говорит, что данные переданы не успешно, в тоже время код ошибки говорит что no error. Это нормально?
Также возникает вопрос, есть ли такой софт который детально отображает весь процесс енумерации? А то втыкаешь кабель, вываливается ошибка от виндов и дальше думай что хочешь.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru