打印
[ZLG-ARM]

LPC2148的串口程序 高手帮我看看啊 急!

[复制链接]
1854|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
meihuadipu|  楼主 | 2007-3-25 15:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高手帮我看看 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);
  }            

 

相关帖子

沙发
TRUE_ARM| | 2007-3-25 18:13 | 只看该作者

程序看不出什么问题

跟编译器相关的东西如,启动代码,会不会有错?

使用特权

评论回复
板凳
meihuadipu|  楼主 | 2007-3-25 19:04 | 只看该作者

谢谢

谢谢,目前只能检查硬件了

使用特权

评论回复
地板
meihuadipu|  楼主 | 2007-3-25 22:23 | 只看该作者

解决了

原来 KEIL fo ram 里面的启动代码是默认的PLL 5倍频的,所以 Fpclk应该为15M

使用特权

评论回复
5
hotpower| | 2007-3-26 00:26 | 只看该作者

要看具体设置了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

14

帖子

0

粉丝