www.pudn.com > ARM7_2114_iic.rar > SendStr.c


/**************************************************************************** 
* 文件名:SENDSTR.C 
* 功能:向串口发送数据。 
* 说明:将跳线器JP5短接; 
*      使用外部11.0592MHz晶振,根据CONFIG.H文件配置,Fpclk=11.0592MHz; 
*      通讯波特率115200,8位数据位,1位停止位,无奇偶校验。 
****************************************************************************/ 
#include  "config.h" 
 
 
/**************************************************************************** 
* 名称:DelayNS() 
* 功能:长软件延时 
* 入口参数:dly		延时参数,值越大,延时越久 
* 出口参数:无 
****************************************************************************/ 
void  DelayNS(uint32  dly) 
{  uint32  i; 
 
   for(; dly>0; dly--)  
      for(i=0; i<50000; i++); 
} 
 
 
#define  UART_BPS	9600			/* 定义通讯波特率 */ 
/**************************************************************************** 
* 名称:UART1_Ini() 
* 功能:初始化串口1。设置为8位数据位,1位停止位,无奇偶校验,波特率为115200 
* 入口参数:无 
* 出口参数:无 
****************************************************************************/ 
void  UART1_Ini(void) 
{   
   uint16 Fdiv; 
   U1LCR = 0x83;		            // DLAB = 1,可设置波特率 
   Fdiv = (Fpclk / 16) / UART_BPS;  // 设置波特率 
   U1DLL = Fdiv % 256;		//  
   U1DLM = Fdiv / 256;		// 
   U1DLL = 0x12; 
   U1DLM = 0x00; 
   U1LCR = 0x03; 
} 
				 
 
/**************************************************************************** 
* 名称:UART1_SendByte() 
* 功能:向串口发送字节数据,并等待发送完毕。 
* 入口参数:data		要发送的数据 
* 出口参数:无 
****************************************************************************/ 
void  UART1_SendByte(uint8 data) 
{  U1THR = data;				    // 发送数据 
 
   while( (U1LSR&0x40)==0 );	    // 等待数据发送完毕 
} 
 
 
/**************************************************************************** 
* 名称:UART1_SendStr() 
* 功能:向串口发送一字符串 
* 入口参数:srt		要发送的字符串的指针 
* 出口参数:无 
****************************************************************************/ 
void  UART1_SendStr(uint8 const *str) 
{  while(1) 
   {  if( *str == '\0' ) break; 
      UART1_SendByte(*str++);	    // 发送数据 
   } 
} 
 
 
uint8 const  SEND_STRING[] = "Hi, my pretty girl , I love u!!\n"; 
 
/**************************************************************************** 
* 名称:main() 
* 功能:向串口UART0发送字符串"Hello World!" 
****************************************************************************/ 
main(void)	  //int main(void) 
{  PINSEL0 = 0x00050000;		    // 设置I/O连接到UART1 
    
   UART1_Ini(); 
   while(1)	 
   {  UART1_SendStr(SEND_STRING); 
      DelayNS(1); 
   } 
 //  return(0); 
}