📄 新建 文本文档.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 + -