Не удается справится с прерыванием Input Endpoint 0 в TUSB3210 :-( (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 05 апреля 2004 г. 20:05


Что-то не удается увидеть прерывание от 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 не получается.

Спасибо за помощь :-).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru