|
||||||
| | 首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 留言 | 论坛 | | ||||||
| 广告载入中... | ||||||
| 您现在的位置: 电子爱好者 >> 文章中心 >> ARM入门 >> 正文 |
|
|||||
| lpc2103源程序--串口0发送数据实验 | |||||
| 作者:未知 文章来源:互连网 点击数: 更新时间:2007-4-28 | |||||
|
/*----------------------------------------------------------------------------------- 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 : 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 : 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 : 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 : 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 : 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 | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 站点地图|<产品开发服务|光盘刻录服务| 广告合作 | 访问记录 |汇款方法 | 关于VIP会员 | | |
![]() |
|