⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 lpc2103串口发送数据。使用外部11.0592MHz晶振
💻 TXT
字号:
/*-------------------------------------------------------------------------------------------------------------------

FILE NAME     : SENDSTR.C

DEscrīptION :串口发送数据。使用外部11.0592MHz晶振,不使用PLL,Fpclk = 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%256;

  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 ----------------------------------------------------//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -