Добрый день, господа!
Имею плату SK-LPC2378. Недавно понадобилось создать проект USB-HID калавиатуры. Решил взять в качестве основы пример из поставка Keil (У меня MDK 4.14). Скомпилировал его, прошил, запустил - ничего не работает. Пример виртуального последовательного порта, который шел в поставке платы, нормально заработал. Попробовал поменять в функции USB_init() строки, где настраиваются альтернативные функции портов ввода-вывода:
Код
//PINSEL1 &= ~0x3C000000; /* P0.29 USB1_D+, P0.30 USB1_D- */
//PINSEL1 |= 0x14000000; /* PINSEL1 26.27, 28.29 */
PINSEL1 &= ~0xC0000000; /* P0.29 USB1_D+, P0.30 USB1_D- */
PINSEL1 |= 0x40000000; /* PINSEL1 26.27, 28.29 */
PINSEL3 &= ~0x30000030; /* P1.18 GoodLink, P1.30 VBus */
PINSEL3 |= 0x20000010; /* PINSEL3 4.5, 28.29 */
/* The SoftConnect pin for LPC2300 on USB_U1 doesn't work for now,
make it GPIO and make it low to turn on pull-up on D+.
Once it's fixed, make #if 1 and set it as SoftConn Pin. */
//#if 1 /* MCB2300 V4.0 */
//PINSEL4 &= ~0x000C0000; /* P2.9 USB1 SoftConnect */
//PINSEL4 |= 0x00040000; /* PINSEl4 18.19 */
//#else /* MCB2300 V3.0 */
//PINSEL4 &= ~0x000C0000;
//FIO2DIR |= (1 << 9);
//FIO2CLR = (1 << 9);
//#endif
PINSEL0 &= ~0x30000000;
FIO0DIR |= (1 << 14);
FIO0CLR |= (1 << 14);
При запуске программа зависает на строчке
Код
while (!USB_Configuration); /* wait until USB is configured */
Если ее закомментировать, новое устройство все равно не обнаруживается.
Кто нибудь пробовал запускать кейловские проекты с использованием USB на этой плате?