Цитата(3m-soft @ Sep 25 2007, 12:13)

Как я понимаю даташитом ты вооружен. У меня была такая же проблема. Посмотри команду
Set Mode (Command: 0xF3, Data: write 1 byte)
Бит 5 INAK_BI Interrupt on NAK for Bulk IN endpoints:
0 Only successful transactions generate an interrupt.
1 Both successful and NAKed IN transactions generate interrupts.
Поставь этот бит в единицу и попробуй.
Попробовал. Теперь контроллер выходит в прерывание по конечной точке с сообщением DMA IN EP - Error. В даташите сказано, что эта ошибка возникает в случаи неправильного дескриптора ДМА.
Скажите, правильно ли я его инициализировал?
Dd.BufAdr = (DWORD)DataBuf;
Dd.BufLen = 512;
Dd.MaxSize = USB_MAX_PACKET0; // 64 байта
Dd.Cfg.Val = 0;
USB_DMA_Setup (USB_ENDPOINT_IN(5), &Dd))
USB_DMA_Enable(USB_ENDPOINT_IN(5));