打印
[ZLG-ARM]

关于LPC2148串口波特率设置

[复制链接]
3904|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tyxixi|  楼主 | 2007-3-13 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用LPC2148,外部晶振为12M,但经过PLL设置后为60M,想串口0设置波特率为1200,如下:
U0LCR=0x83;
U0DLM=0x2;                        U0DLL=0x71;
U0LCR=0x03;
但是在KEIL C通过软件调试显示波特率为1500,这是怎么回事?恳请高手赐教!
而且在LPC2148手册中给出的公式是不是有问题?

相关帖子

沙发
zlgARM| | 2007-3-13 14:31 | 只看该作者

RE

公式没有问题,做过实验验证了。试验了串口0工作在1200BPS,结果正常。

您的Fpclk是多少?

使用特权

评论回复
板凳
tyxixi|  楼主 | 2007-3-16 12:27 | 只看该作者

串口波特率公式有问题?

谢谢楼上,我找到原因了。我的外部晶振是12M,经过PLL后是60M,由于LPC2148默认的PCLK是PLL的四分频,故FPCLK是1500,按照上面的配置,算出来是15M。
我还是觉得计算波特率公式有问题,在U0DLM前面的系数不应是16,而应该是256,不是吗?

使用特权

评论回复
地板
zlgARM| | 2007-3-16 13:46 | 只看该作者

RE

您说得对,估计是NXP的笔误。
高8位应该乘以256。谢谢了!

使用特权

评论回复
5
meihuadipu| | 2007-3-25 15:25 | 只看该作者

高手帮我看看 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= 0x13;            //把取到的数据再回发出去
      while((U0LSR&0x40)==0);
  }            
}

使用特权

评论回复
6
meihuadipu| | 2007-3-25 15:30 | 只看该作者

倒数第二行 U0THR= 0x13; 应为 U0THR= data;

倒数第二行 U0THR= 0x13;  应为 U0THR= data; 敲错了 

使用特权

评论回复
7
tyxixi|  楼主 | 2007-4-1 20:33 | 只看该作者

我的答案

在PC机上,你是不是用串口调试助手接受数据的?如果是你看看你的串口调试助手是不是选择了“十六进制显示”。还有,你可以在Keil中用软件调试的时候,再仔细看下波特率是不是选择对了。

使用特权

评论回复
8
liujigan| | 2007-4-2 10:07 | 只看该作者

to:meihuadipu

如果用Keil mdk RV的话自动生成的Startup.s中默认VPBDIV=0X00000001,PLLCFG=0X00000024这一点要注意,我在上面吃过亏,找毛病,找了好几天。

使用特权

评论回复
9
woshixinshou| | 2011-2-19 15:44 | 只看该作者
找到了,谢谢~~

使用特权

评论回复
10
米其林r| | 2011-2-19 22:09 | 只看该作者
你的主频是多少

使用特权

评论回复
11
amini| | 2011-2-20 15:57 | 只看该作者
:o,四年前的贴子?

使用特权

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

本版积分规则

9

主题

18

帖子

0

粉丝