У меня аппаратный контролер USBN9604 на внешней шине AVR.
Грубо говоря - доходит процесс инициализации до отправки дескриптора устройства - приходит запрос на обслуживание приемника конечной точки 0 - принимается
80 06 00 01 00 00 40 00 HEX
Это вроде как запрос на передачу дескриптора (06h) , устройства (01h)
Начинаю - гружу первые 8 байт в FIFO - запускаю передачу. По прерыванию о подтверждении приема - гружу следующие, а подтверждения нет
Вместо этого мне приходит :
00 00 05 01 00 00 00 00 HEX
Типа запрос статуса электропитания - но первый байт-то 80 должен быть ?
Иногда даже после первого блока нет подтверждения. Главное нестабильная работа - под отладчиком походу глупо работать, слишком медленно или что ? Даже не знаю куда копать.
В общем - как вообще правильно передавать дескриптор. Или банально ждать, читая бит состояния об освобождении части FIFO и допихивать ?
Копаюсь, понятно, в кусках чужой программы (для другого процессора) и там сделано так, что ожидается получение подтверждения о приеме от хоста и только потом перезагружается FIFO



