LPC2131 UART0 操作流程
2、初始化
# define UART_BPS 115200 //串口通信波特率
void UART_Init(void)
{
uint16 Fdiv;
PINSEL0 = 0x00000005; //UARTO的TxD0,RxD0對應(yīng)P0.0,P0.1,將這兩個引腳設(shè)置為UART功能
U0LCR =0x83; //設(shè)置格式,8位字符,并使能訪問除數(shù)鎖存器,DLAB=1
Fdiv= (Fpclk/16)/UART_BPS; //設(shè)置波特率
U0DLM = Fdiv/256;
U0DLL = Fdiv%256;
U0LCR = 0x03; //設(shè)置格式,禁止訪問除數(shù)鎖存器,DLAB=0
}
3、查詢方式發(fā)送一字節(jié)數(shù)據(jù)
void UART0_SendByte(uint8 data)
{
U0THR = data; //將待發(fā)送的字節(jié)數(shù)據(jù)寫入U0THR
while((U0LSR&0x40)==0); //等待數(shù)據(jù)發(fā)送完畢
}
4、查詢方式接收一字節(jié)數(shù)據(jù)
uint8 UART_RcvByte(void)
{
uint8 rcv_data;
while((U0LSR&0x01)==0); //等待數(shù)據(jù)到達
rcv_data=U0RBR; // 從U0RBR中讀出接收的數(shù)據(jù)
return(rcv_data); //返回接收的數(shù)據(jù)
}
評論