高手帮我看看 LPC2148的串口程序 -不知哪里错了,急!
程序功能:用LPC2148发送一个16进制数,2148再把这个数回送PC机
运行程序后,用串口软件发送,结果送回来的数据总是错的,代码如下(keil下的):
#include <LPC214x.H>
void uartini(void) //串口初始化 { unsigned int Fdiv=0;
U0LCR = 0x83; Fdiv = ( 3000000 / 16 ) / 9600 ; //设定波特率,12M晶振,没用PLL U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03; //DLAB = 0 }
main() { unsigned char data=0x00; PINSEL0 = 0x00000005; //打开 P0.0,P0.1的串口功能
uartini(); while(1) { while((U0LSR&0x01)==0); //先等待接收PC机发来的数据 data=U0RBR; //取出数据 U0THR= data; //把取到的数据再回发出去 while((U0LSR&0x40)==0); } }
|