Не удается справится с прерыванием Input Endpoint 0 :-(
Что-то не удается увидеть прерывание от InEndpoint0 Инициализирую по примеру клавиатуры выложеному TI. iWriteMMR bVECINT, 0 iWriteMMR bUSBSTA, 0xFF iWriteMMR bFUNADR, 0 ; Адреса нет iWriteMMR bUSBMSK, 0xFF ; Прерывания от USB событий iWriteMMR bIEPBCNT_0 , EPBCNT_NAK ; Буфер пуст iWriteMMR bOEPBCNT_0 , EPBCNT_NAK ; Буфер пуст iWriteMMR bIEPCNFG_0, UBME+USBIE ; Прерывания от Control IN iWriteMMR bOEPCNFG_0, UBME+USBIE ; Прерывания от Control OUT Вот лог пакетов полученный по COM порту: 1) Получаю пакет Get Descriptor Device 80 06 00 01 00 00 40 00 Отвечаю частями по 8 байт как и положено. Host(Windows) прерывает передачу сбросом USB 2)Host задает адрес: Set Address 00 05 02 00 00 00 00 00 Сохраняю его в bFUNADR 3)Поскольку Host в первой пересылке получил длину Descriptor Device то запрашивает снова уже с правильной длиной (12h). Get Descriptor Device 80 06 00 01 00 00 12 00 Но почему то прерывание от InEndpoint0 так и не вызывается :-( Игрался с битами DIR SIR в USBCTL не получается. Спасибо за помощь.
-
- Для TUSB3210. - misyachniy(31.03.2004 19:51)