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