ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
37299
Gwaihir (15.08.2005 11:57, просмотров: 1321)
Подскажите с использованием usb-контроллера PDIUSBD12 под linux Если кто использовал pdiusbd12 для работы с usb, прошу помочь советом. AVR подключен к pdiusbd12 и управляет его инициализацией. Беда в том, что под windows устройство без проблем определяется, а под linux не хочет. Под виндами пробовал и как hid-устройство, и просто bulk-device. Когда смотрю логи, вижу что linux присылает команду set_address, я задаю адрес для pdiusbd12. Далее приходит команда get_dev_descriptor, я начинаю выдавать дескриптор устройства, пишу в фифо первые 16 байт, и дальше начинаются проблемы: следующее прерывание endpoint0_in приходит со статусом "timeout", и цикл опроса состояния фифо pdiusbd12 продолжается 20 секунд, после чего все, абзац. Т.е. перед тем, как отправить остаток dev_descripor-а, я жду прерывания от pdiusbd12 и, когда это прерывание приходит, опрашиваю состояние фифо. Так вот, прерывание приходит со статусом "таймаут", а статус фифо говорит о том, что оно полное, т.е. положить туда остаток дескриптора я не могу ! Выходит, что первая порция дескриптора не ушла из фифо. В общем, совсем голову сломал. Извиняюсь за сумбурное изложение, ткните хоть носом, куда дальше копать...