0

我正在尝试使用UART1in发送一个字节LPC1778(我正在使用 Keil Simulator)。

但是我无法发送字节;经过详细调试,我得出的结论是数据没有写入UART1->THR寄存器。

这是为传输而截取的代码:

void uart1_tra(uint8_t x)
{
    LPC_UART1->THR=x;
    //after this line ,irrespective of the value of x, UART1->THR remains at a 
    VALUE EQUAL TO 0         

    while(1)
    {
        if(LPC_UART1->LSR&(1<<5))
        {
            break;
        }
    }
}

初始化代码:

void uar1_init(void) 
{
    LPC_SC->PCONP|=1u<<4; 
    LPC_SC->PCLKSEL|=1U; 
    LPC_UART1->LCR|=1U<<7; 
    LPC_UART1->DLL|=0x05; //SET SOME BAUD RATE 
    LPC_UART1->FDR|= 0x21; //END OF BAUD RATE CALCULATIONS
    LPC_UART1->LCR&=~(1U<<7);//DISABLE DLAB 
    LPC_UART1->LCR|=3U;//8-BITCHARACTER LENGTH 
    LPC_UART1->FCR|=1U; //ENABLE FIFO REG 
    LPC_UART1->FCR|=(0X03<<1);//RESET RXBUFFERS 
    //LPC_UART1->IER|=3u;//to ENABLE INTERRUPTS 
    LPC_IOCON->P0_15|=1U; 
    LPC_IOCON->P0_16|=1; 
}
4

0 回答 0