kovigor
Apr 6 2010, 16:13
Задача - считать дескриптор устройства (мыши), подключенной к нулевому порту. Мышь успешно детектируется как Low Speed, после чего я создаю одну Control EP0 и больше никаких EP не создаю. HCCA не инициализирую. Ни BULK, ни INT EP у меня нет. Присоединяю к EP0 три дескриптора передачи - SETUP, IN для приема 18 байт дескриптора и OUT для отсылки пустого STATUS - пакета. Перевожу хост в состояние "Operational", разрешаю обработку управляющего списка (HcControl.CLE <- 1) и запускаю пакет транзакций в работу, сбрасывая бит "SKIP" в дескрипторе EP0. Жду, пока транзакции будут обработаны хостом, но функция ожидания завершается по тайм-ауту. Смотрю дескрипторы до и после запуска транзакций в обработку. Все их поля, вроде бы, в порядке, но при этом видно, что хост за их обработку не принимался вообще. Осциллограф показывает, что SOF не генерируются. Интересно, почему ? Очень хорошо было бы глянуть примерчик. Linux не предлагать, он мне совершенно не подходит ...
kovigor
Apr 7 2010, 12:44
Ура ! Получил, наконец, положительный результат, подключив к хосту вместо Low-speed мышки Full-Speed принтер. Итого SOFы пошли !!!!!!!! А вот почему их нет на Low Speed, пока не знаю. Буду разбираться ...
kovigor
Apr 12 2010, 08:01
Цитата(kovigor @ Apr 7 2010, 15:59)

Ура ! Получил, наконец, положительный результат, подключив к хосту вместо Low-speed мышки Full-Speed принтер. Итого SOFы пошли !!!!!!!! А вот почему их нет на Low Speed, пока не знаю. Буду разбираться ...
Разобрался. Кому надо - пишите, расскажу ...