Здравствуйте! Ниже инициализация UART
br = ((Fpclk) / (16 * baud)) /*- 1*/; PCONP |= pcon_PCUART0; // Power up UART0 PINSEL0 = (1<< 1) | (1<< 3); // Enable RxD0 and TxD0 U0LCR = 0x00000083; /* UART0 8 bits, no parity, 1 stop bit, DLAB */ U0DLL = (unsigned char)(br); U0DLM = (unsigned char)(br >> 8); U0LCR = 0x00000003; /* UART0 8 bits, no parity, 1 stop bit*/ U0FCR = SD_FIFO_ENABLE | SD_FIFO_RX_RESET | SD_FIFO_TX_RESET;
Циклически записываю данные в буфер void TIMER0VectoredIRQ (void) __irq {
U0THR = 0xA5;
T0IR |= 0x00000001; //Clear match 0 interrupt VICVectAddr = 0;// Dummy write to signal end of interrupt }
Не работает. Смущает, что на выводе TxD0 логический ноль. Если передатчик корректно инициализирован, то на его выходе должна быть логическая единица. Что я сделал не так? Заранее благодарен за поддержку!
|