?? 新建 文本文檔.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 + -