打印

ARM7 LPC2132 的UART1 串口1 发送程序问题,求大神了

[复制链接]
1585|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
庄吉|  楼主 | 2013-9-23 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C:\Documents and Settings\leovine\桌面各位大师好,我是初学者,在写一个串口1发送的程序,程序如下,不知道为何显示乱码。

#include <LPC213x.H>

#define UART_BPS  9600
#define Fpclk  11059200

typedef unsigned int uint32;
typedef unsigned short uint16;
typedef unsigned char uint8;


void DelayNS(uint32 dly)
{
        uint32 i;
        for(;dly>0;dly--)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
        for(i=0;i<50000;i++);
}


void UART1_init(void)
{
        uint16 Fdiv;
        U1LCR=0x83;
        Fdiv=(Fpclk/16)/UART_BPS;
        U1DLM=Fdiv/256;
        U1DLL=Fdiv%256;
        U1LCR=0x03;
}

void UART1_SendByte(uint8 data)
{         
        U1THR=data;
        while((U1LSR&0x40)==0);       
}

void UART1_SendStr(uint8 const *str)
{
        while(1)
        {                                       
                UART1_SendByte(*str++);
                if(*str=='\0') break;       
        }
}

int main(void)
{
        PINSEL0=0x50000;
        UART1_init();
        while(1)
        {
                UART1_SendStr("welcome to SHU LV JIAN smart home!\n");
                DelayNS(100);
        }
        return(0);
}

相关帖子

沙发
craaazyfor| | 2013-9-24 15:59 | 只看该作者
1. 看上位机设置是否和程序一致;
2. 看Fpclk有没问题;
3. 尝试下载例程看看是不是也乱码。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
庄吉 + 1 很给力!
板凳
庄吉|  楼主 | 2013-9-24 17:40 | 只看该作者
craaazyfor 发表于 2013-9-24 15:59
1. 看上位机设置是否和程序一致;
2. 看Fpclk有没问题;
3. 尝试下载例程看看是不是也乱码。 ...

谢谢你的回答。首先晶振11.0592 是没错的, 第二,上位机波特率9600,8位数据位,1个停止位,无奇偶验证, 这个就是例程来的,我看不出有什么错误,您能看出吗?

使用特权

评论回复
地板
craaazyfor| | 2013-9-24 17:42 | 只看该作者
那检查你板子或者线有没问题

使用特权

评论回复
5
庄吉|  楼主 | 2013-10-11 11:53 | 只看该作者
craaazyfor 发表于 2013-9-24 17:42
那检查你板子或者线有没问题

谢谢您的回答,我找到原因了,因为我没有定义PLL。

使用特权

评论回复
6
NiShuiXingZhou| | 2013-10-16 21:38 | 只看该作者
庄吉 发表于 2013-10-11 11:53
谢谢您的回答,我找到原因了,因为我没有定义PLL。

求解释没定义PLL为何导致这个问题发生啊,PLL有什么功能?我也是小白

使用特权

评论回复
7
庄吉|  楼主 | 2013-10-17 10:06 | 只看该作者
NiShuiXingZhou 发表于 2013-10-16 21:38
求解释没定义PLL为何导致这个问题发生啊,PLL有什么功能?我也是小白

pll是锁相环,给MCU提供频率的,你查一下资料吧

使用特权

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

本版积分规则

4

主题

25

帖子

0

粉丝