andrewlekar 0 2 февраля, 2011 Опубликовано 2 февраля, 2011 · Жалоба Не могу ничего понять. Всё прекрасно работает, но стоит написать строчку U2LCR = 0; как падаю в обработчик App_Fault_ISR. Оставил минимальный код: BSP_Init(); uart0_hard_init(); gsm_uart_printf_unsafe("test test test\r\n"); U2LCR = 0; while(1); Без строчки U2LCR всё работает. Вот в виде ассемблера: 00000010 0248 LDR.N R0,??main_0+0x4 ;; 0x4009800c \ 00000012 0021 MOVS R1,#+0 \ 00000014 0170 STRB R1,[R0, #+0] При изменении на U1LCR тоже всё ОК. UPD: Вопрос снимается. Нужно сначала разрешить UART2 в PCONP. Однако реакция на команду крайне неординарная. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ДЕЙЛ 24 25 июля, 2014 Опубликовано 25 июля, 2014 · Жалоба UPD: Вопрос снимается. Нужно сначала разрешить UART2 в PCONP. Однако реакция на команду крайне неординарная. Аналогичная ситуация и с другими модулями - если в регистре PCONP не установлен бит включения, то при чтении-записи регистров соответствующего модуля МК сработает криво. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться