Имеется плата на основе LPC2378, пины P0.29 (USB_D+) и P0.30 (USB_D-) предполагается использовать как обычные GPIO выходы. Даташит, усер мануал и ег'ата глаголют что препятствий к этому вроде как нет. Но вот такой простой код:
Код
lock = hal_lock_interrupt();
PIN_SEL[1] &= ~0xFFF00000;
FIO0_MASK = 0;
FIO0_DIR |= 0x44000000;
FIO0_SET = 0x44000000;
PIN_SEL[1] &= ~0xFFF00000;
nop();
FIO0_CLR = 0x44000000;
hal_unlock_interrupt(lock);
не работает. На выходе P0.26 осциллограф импульсы видит, а на выходе P0.30 - нет.
Также данный фрагмент был запущен на плате с LPC2368 - точно с таким же результатом, P0.30 как выход не заработал. Может быть там "открытый коллектор" (по типу P0.28/29) - я еще не пробовал, и мне OK по схеме не подходит.
По форуму поискал - такой проблемы не нашел. Кто-нибудь с таким уже сталкивался? Или я что-то в документации пропустил?