Вот один из вопросов.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Алехин Александр 14 августа 2003 г. 15:11
В ответ на: Начал осваивать USB с USBN9604. Есть вопросы. отправлено Алехин Александр 14 августа 2003 г. 14:59

Ситуация следующая. После подключения к USB получаю пакет Setup с Get_Descriptor-Device_Descriptor. Запрещаю прием, загружаю в FIFO0 первые 8 байт дескриптора, выставляю тип пакета DATA1 и разрешаю передачу. Через 1 мсек получаю прерывание TX_EV для FIFO0 с признаками завершения передачи и получения подтверждения. Т.е. первая часть дескриптора передана правильно. Загружаю в FIFO0 следующие 8 байт дескриптора, инвертирую тип пакета (т.е. теперь он DATA0) и разрешаю передачу. После этого следующее прерывание возникает только через 2 мсек (по идее должно максимум через 1 мсек) и прерывание это на NAK для OUT FIFO0! Откуда берется пакет OUT? Да и откуда NAK, если прием запрещен? Т.к. по NAK передача запрещается, FIFO очищается и разрешается прием - я начинаю ждать OUT, и тут еще через 3 мсек хост меня сбрасывает и после паузы 600 мсек все начинается сначала.

Что я делаю не так, что за OUT приходит в середине передачи мною дескриптора?

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

Ответы



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

E-mail: info@telesys.ru