ALexx 0 29 ноября, 2004 Опубликовано 29 ноября, 2004 · Жалоба При работе с LPC2114 столкнулся с такой проблемой. Вся периферия работает прекрасно: UARTs, I2C, SPIs etc. НО... ...пока не начинаем работать с портом Р1. Если этот порт настраивать на ввод(IODIR1=0;) - проблем нет. Однако, как только в коде встречаются такие строчки: IODIR1=0xffff0000; //Set All bits of P1 to output IOSET1=0xffff0000; //Set All bits of P1 to 1 процессор перестает откликаться вообще. Эта проблема возникает только на Р1. С Р0 проблем никаких. По закону Мерфи именно порт1 в моем проекте должен работать на вывод (все 16 линий). Можно было бы грешить на выводы Р1.20 и Р1.26, однако на них уровень во время ресета ненулевой, т.е. проц НЕ в режиме отладки. Кроме того, если верить даташиту, у них внутренние пулл-апы. Подтяжка внешними резисторами также результата не дала. Второй день не могу понять: с лыжами проблема или все-таки я чего-то недопонимаю :-))) P.S. Привожу кусочек кода где возникает описанная проблема. .................. // Off unused periphireals PCONP=(PCONP_MASK ^ (PCONP_PCPWM0 | PCONP_PCSPI0 | PCONP_PCRTC | PCONP_PCSPI1 | PCONP_PCADC)); // Reset pin functions PINSEL0=FSEL_GPIO_ALL; PINSEL1=FSEL_GPIO_ALL; PINSEL2&=0xfffffff3; IOSET1=0xffff0000; //Set All bits of P1 to 1 IODIR1=0xffff0000; //Set All bits of P1 to output IOSET1=0xffff0000; //Set All bits of P1 to 1 Uart_Open(UART0,UART_BAUD(9600), ULCR_LEN8|ULCR_STOP_1|ULCR_PAR_NO, UFCR_FIFO_ENABLE|UFCR_FIFO_TRIG8, UIER_RXDA_INT | UIER_THRE_INT ); Uart_SendBuffer(UART0,"Test",4); .................... Если IODIR1=0, то в мы принимаем строку "Test"(все в порядке), а если IODIR1=0xffff0000 UART молчит как партизан на допросе (как, впрочем и вся остальная периферия :-((((( ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться