Цитата(galjoen @ Mar 11 2009, 20:41)

Программу на базе примера делали? Если так, то ничего удивительного. Примеры они такие...
А вообще, скорее всего у вас ACK в ответ на битый пакет от хоста шлётся. Как в изохронном режиме.
Или приём разрешается до того, как буфер прочитан.
прогу сам писал, просто сделал класс USB который теперь таскаю из проекта в проект правя дескрипторы: стандартная клава, CDC, свой драйвер. Вся работа на прерывании.
А как управлять отсылкой ACK? при вызове прерывания я смотрю что пришли данные и в правильный банк, вычитываю, сбрасываю флаг прихода данных (AT91C_UDP_RX_DATA_BKx) и собственно все. В ручную ACK-ом шевелить даже не знаю как
Так как ожидается приход не одного пакета в 64 байта а кучи данных в 2к то есть таймаут и проверка на целостность, и иногда какой то из пакетов теряется (приблизительно 1 на 2-10 миллиона в тестах с максимальной нагрузкой). Сейчас это решено на уровне софта в МК и PC через повторы, но причину хочу найти и устранить.