lpc2468. Достоверно известно, что USB работает
Инициализировал USBD1 интерфейс чётко по мануалу. Использовал переработанные кейловские функции. Кстати, кейловский пример USBMem для lpc24xx не работает вообще.
Картина такая (номер пункта соответствует порядковому номеру прерывания):
1. Приходит reset. Я полагаю, что ничего здесь делать пока не надо и не делаю.
2. Приходитят данные пакета "0х8006000100004000". Пытаюсь отправить первые 8 байтов дескриптора, через slave mode регистры. При опросе регистра USBDevIntSt бит ERR_INT не устанавливается.
При запросе кода ошибки SIE показывает 0х19, что соответствует "send/received NAK". Обе нулевые конечные точки при запросе их статуса показывают 0х00.
Далее прерывания начинают чередоваться, сначала 1, потом 2, потом снова 1, потом 2 и, наконец, я вижу, что хаб наказал моему устройству перейти в suspend mode, что говорит о том, что дескриптор отправлен не был.
Так вот вопросы: "Поднимал ли кто-то USB без кейловских библиотек? Сталкивались ли с чем-то таким? С чем это может быть связано?"
Из странного: биты RXENDPKT и TXENDPKT регистра USBDevIntSt не устанавливаются, что при передаче, что при приёме. Хотя в даташите написано, что должны.
Если что-то забыл упомянуть - спросите