Цитата(vgo1 @ Jul 19 2012, 23:56)

Если не ошибаюсь, до того как послать Get Report, host посылает Setup Set Configuration, в ответ на что device включает ту конфигурацию которая была указана в Configuration Descriptor-е,
то есть активирует какой то отличающийся от нулевого INPUT Endpoint.
Да, но там одна конфигурация. прикладываю дескриптор
Fu.rar ( 3.23 килобайт )
Кол-во скачиваний: 81(повторюсь софтовый вариант с этими же настройками (ну кроме юсб2,0) работает....)
и в аппаратном варианте оно работает, если бы на этом этапе не прошло, то я бы не проинитил ендпоинт...
а он инитится и без ГЕТ я могу заслать через него пакет от МК в ПК...
Цитата(vgo1 @ Jul 19 2012, 23:56)

Навено туда и должен поступать запрос Get Report. Попробуйте прочесть UEINTX етого Endpoint-а, может там увидите RXSTPI.
Этот путь я проверял - 3 бит равен нулю - см ниже.
Код
;STALLEDI (1 бит) флаг прерывания STALLEDI
;Устанавливается аппаратно для указания, что был послан ответ STALL или обнаружена ошибка CRC для
;OUT изохронной конечной точки. Должен быть сброшен программно.
;RXSTPI (3 бит) флаг прерывания при получении SETUP
;Устанавливается аппаратно для указания, что текущий банк содержит достоверный SETUP пакет.
;Возникает прерывание (EPINTx) (если разрешено). Должен быть сброшен программно для подтверждения
;получения прерывания. Этот бит не активен (сброшен) для IN конечных точек.
Отдельно замечу
Этот бит не активен (сброшен) для IN конечных точек.На Out - от компа (нулевой) - UEINTX были замечены след значения
;0x53 = 01010011
;0x47 = 01000111
RXSTPI - тут мониторится и сбрасывается по генерации стандартных запросов
Гет не вызывает изменения значения UEINTX
;IN - в комп (первый) - UEINTX были замечены след значения
;0xA1 = 10100001 - готов к приему
;0xE1 = 11100001 - передержали
RXSTPI - тут не ставится
Гет не вызывает изменения значения UEINTX
В енете нашел вот это описание (пока малопонятное и не факт что правдивое)
Код
т.е. приходят данные от кома (вместе с Set Report) и запросы (на выдачу репорта Get Report)
в control-in (токен STALL...), а выгружается запрошенное через первый ендпоинт (Get Report)...
Хотя STALLEDI в регистре UEINTX - отвечает за STALL... но я пробовал его сбрасывать в 0 ендпоинте
при гет он не появляется и я не уверен что я правильно его сбрасываю (что еще требуется изменить до
или после изменения этого бита?)
Сообщение отредактировал QuickWitted - Jul 20 2012, 02:37