设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> ARM入门 >> 正文 用户登录 新用户注册
[注意]lpc2103 串口发送数据          【字体:
lpc2103源程序--串口0发送数据实验
作者:未知    文章来源:互连网    点击数:    更新时间:2007-4-28

   /*-----------------------------------------------------------------------------------

FILE NAME      : SENDSTR.C

DEscrīptION  : 串口发送数据。 使用外部11.0592MHz晶振,不使用PLLFpclk = 1/4 Fcclk

----------------------------------------------------------------------------------*/

//-------------------------------------------------Include files--------------------------------------------------//

#include  <lpc2103.h>

//----------------------------------------------------Variable ---------------------------------------------------//

 

//----------------------------------------------Function prototype--------------------------------------------//

 

//-----------------------------------------------------Function -------------------------------------------------//

 

//------------------------------------------------------Define---------------------------------------------------//

 

#define     FPCLK             11059200

#define     uart_bps            9600

 

/*-----------------------------------------------------------------------------------------------------------------

NAME             : delay()

FUNCTION    : 长软件延时

ENTRY  TYPE : int

RETURN TYPE : void

PURPOSE        :

VERSION         : 0.0.0

DEscrīptION  :

CREATE DATE  : 12.07.2006

LOGS              :--\

- 1.create;

------------------------------------------------------------------------------------------------------------------*/

void  delay(unsigned int  dly)

{  unsigned int  i;

 

   for(; dly>0; dly--)

      for(i=0; i<50000; i++);

}

 

 

/*--------------------------------------------------------------------------------------------------------------

NAME             : uart0_int()

FUNCTION    : 初始化串口0。设置为8位数据位,1位停止位,无奇偶校验,波特率为9600

ENTRY  TYPE : void

RETURN TYPE : void

PURPOSE        :

VERSION         : 0.0.0

DEscrīptION  :

CREATE DATE  : 12.07.2006

LOGS              :--\

- 1.create;

-----------------------------------------------------------------------------------------------------------------*/

void  uart0_int(void)

{  unsigned short int fdiv;

 

   U0LCR = 0x83;                      // DLAB = 1,可设置波特率

   fdiv = (FPCLK/16)/uart_bps;

   U0DLM= fdiv/256;

   U0DLL = fdiv%6;

   U0LCR = 0x03;

}

 

 

/*-------------------------------------------------------------------------------------------------------------

NAME             : uart0_sendbyte()

FUNCTION     : 向串口发送字节数据,并等待发送完毕。

ENTRY  TYPE : unsigned char

RETURN TYPE : void

PURPOSE        :

VERSION         : 0.0.0

DEscrīptION  :

CREATE DATE  : 12.07.2006

LOGS              :--\

- 1.create;

------------------------------------------------------------------------------------------------------------*/

void  uart0_sendbyte(unsigned char data)

{  U0THR = data;                            // 发送数据

 

   while( (U0LSR&0x40)==0 );          // 等待数据发送完毕

 

}

 

 

/*---------------------------------------------------------------------------------------------------------

NAME             : uart0_sendstr()

FUNCTION    : 向串口发送一字符串

ENTRY  TYPE : unsigned char

RETURN TYPE : void

PURPOSE        :

VERSION         : 0.0.0

DEscrīptION  :

CREATE DATE  : 12.07.2006

LOGS              :--\

- 1.create;

-------------------------------------------------------------------------------------------------------*/

void  uart0_sendstr(unsigned char const *str)

{  while(1)

   {  if( *str == '\0' ) break;

      uart0_sendbyte(*str++);          // 发送数据

   }

}

 

 

/*-----------------------------------------------------------------------------------------------------------------

NAME             : main()

FUNCTION    : 向串口UART0发送字符串"Hello World!"

ENTRY  TYPE : void

RETURN TYPE : void

PURPOSE        :

VERSION         : 0.0.0

DEscrīptION  :

CREATE DATE  : 12.07.2006

LOGS              :--\

- 1.create;

-------------------------------------------------------------------------------------------------------------------*/

int  main(void)

{  unsigned char const  send_string[] = "hello world!";

 

 

   PINSEL0 = 0x00000005;               // 设置I/O连接到UART0

   PINSEL1 = 0x00000000;

  

   uart0_int();

   while(1)    

   {  uart0_sendstr(send_string);

      delay(10);

   }

   return(0);

}

 

 

//-------------------------------------------- End of file ----------------------------------------------------//

编译程序,竟如调试环境,打开串口终端软件,如easyarm.exe,按照程序中的串口数据格式和波特率进行串口设定,观察接收窗口,将得到如图所示的类似界面。

点此在新窗口浏览图片 

文章录入:admin    责任编辑:admin 
  • 上一篇文章: lpc2103源程序--FGPIO

  • 下一篇文章: lpc2103源程序--SPI
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • AT91SAM7S系列评估板

  • 【本站学习光盘列表】

  • 8051、ARM和DSP指令周期分析

  • 32位RISC ARM芯片的应用和选…

  • ARM7在嵌入式应用中启动程序…

  • ARM开发调试教程

  • ARM简介与编程-献给ARM初学者

  • lpc2103实验--外部中断

  • lpc2103源程序--PWM

  • lpc2103源程序--TIME1的计数…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}