我正在尝试使用UART1
in发送一个字节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;
}