Попробовал. Теперь контроллер выходит в прерывание по конечной точке с сообщением 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));