Цитата(StasK @ May 8 2009, 07:12)

Так оверлаппед сделан, а что толку, все равно ничего не принимается.
А устройство в таких ситуациях не пропадает?
Цитата(StasK @ May 8 2009, 07:12)

NAK обработчик тоже есть. Может быть устройство занято обработкой других прерываний и не успевает иногда ответить на запрос хоста, но это вряд ли.
Так выведите вызов обработчика по NAK от InterruptIn EP на светодиод или неиспользуемый контакт (см. осциллографом). А когда устр-во занято и не успевает ответить - NAK автоматически посылается.
А вообще нужно выяснить идут-ли в той ситуации IN от хоста (тогда дело в устройстве - оно на них NAK посылает) или нет (тогда комп). IN можно даже осциллографом увидеть.
А Get(Set)Feature вы не используете? Они продолжают при этом слаться?
А кстати, SOF-то идут? Хотя конечно идут, иначе как вы ту посылку с кодом detach устройству отправляете.
Цитата(StasK @ May 8 2009, 07:12)

Довольно тяжело отлаживать, когда ошибка выскакивает раз в час, а то и реже.
Я так понял, что Interrupt имеет фиксированное время доставки. Возможно ли загрузить комп так, что он не успеет обработать InterruptIn.
Мне так загрузить комп не удалось.
А кстати, почему вы не пользуетесь к.л. USB-сниффером (программым)?