[an error occurred while processing this directive]
|
Пересмотрел по N+1 все регистры ни в какую.
Вот конфигурация:
USBGCTL= 0 // Програмного сброса нет
USBCTL= 50 // USB разрешен, USB Reset очищает отложенные прерывания
USBINTSRC= 0 // Прерываний нетUSBIEPIF= 0 // Отложенных прерываний нет
USBOEPIF= 0USBIDRIF= 0 // DMA запрещены
USBODRIF= 0
USBIDGIF= 0
USBODGIF= 0
USBIDIE= 0
USBODIE= 0USBIEPIE= 1 // Прерывания контрольных ендпоинт разрешены
USBIEPIE= 1USBIE= E5 // Все прерывания от USB событий разрешены кроме SOF и pre SOF
USBIF= 0USBICNF0= 84 // Control In/Out ендпоинты разрешены и прерывания от них
USBOCNF0= 84USBADDR= 0 // Адреса пока нет
USBIDLECTL= 4 // USB разрешен
USB_CLKMD= 2213 // X4 CLK
IER0=100 // Прерывания от USB разрешены
Присоединяюсь к USB шине USBCTL|=0x80;
Прерывание активизируется по сбросу шины:USBIF=80
Сбрасываю USBIF=0x80; USBIF= 0
В этом же прерывании читаю USBINTSRC
USBINTSRC= 6
USBINTSRC= 0
То есть флаг очищается.
И так после 5 сбросов шины - Windows говорит все что обо мне думает и успокаивается :-)
Кто виноват? Что делать? Спасибо.
E-mail: info@telesys.ru