设为首页 加入收藏

TOP

UART0串口编程系列(三)
2014-11-24 07:26:16 来源: 作者: 【 】 浏览:4
Tags:UART0 串口 编程 系列
************


* 作 者:tiger-john


* 时 间:2011年1月17日


* 名 称: UART0_SendByte


* 功 能: 向串口发送字节数据,并等待发送完毕。


* 入口参数: data 要发送的数据


* 出口参数: 无


**********************************************************/


void UART0_SendByte(uint8 data)


{


U0THR = data;


while(0 == (U0LSR & 0x40));




4. 完整的程序事例:


用轮训方式实现接收上位机数据,并把数据再发送给上位机。


view plaincopy to clipboardprint
/****************************************Copyright (c)**************************************************
** 西安邮电学院
** graduate school
** XNMS实验室
** Author:冀博
** Time:2011年1月20日
** http://blog.csdn.net/tigerjb
**
**--------------File Info-------------------------------------------------------------------------------
** File name: UART0_while
** Last modified Date: 2011-01-20
** Last Version: 1.0
** Descriptions: 通过上位机给串口发送8字节数据,ARM2200接收到串口数据后,把数据又发送回上位机
**------------------------------------------------------------------------------------------------------*/

/******************************************************************************
** Modified by: TIGER0-JOHN
** Modified date: 2011-1-21
** Version: 1.1
** Descriptions: 测试成功 ,在上面上发送16进制数时,每个之间用空格隔开
不加前缀
****************************************************************************/




#include "config.h"

/****************************************************************************
* 名 称: DelayNS()
* 功 能: 长软件延时
* 入口参数: dly 延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void DelayNS(uint32 dly)
{
uint32 i;

for(; dly>0; dly--)
{
for(i=0; i<5000; i++);
}

}
/**********************************************************
* 名称: UART0_Init()
* 功能: UART0初始化(通讯波特率115200,8位数据位,
1位停止位,无奇偶校验)
* 入口参数: bps 串口波特率
* 出口参数: 无
**********************************************************/
void UART0_Init(uint32 bps)
{
uint16 Fdiv;
PINSEL0 = 0x00000005; //设置串口引脚
U0LCR = 0x83; //置为除数锁存位,进行配置
Fdiv = (Fpclk >> 4) / bps; // 设置波特率
U0DLM = Fdiv >> 8;
U0DLL = Fdiv & 0xff;
U0LCR = 0x03; //清除除数锁存位,并设置工作模式

}

/**********************************************************
* 名 称: UART0_RcvByte
* 功 能: 用查询方式接收一字节的数据
* 入口参数: 无
* 出口参数: data 要接收的数据
**********************************************************/
uint8 UART0_RcvByte(void)
{
uint8 rcv_data ;
while((U0LSR&0X01)==0); //等待数据到达
rcv_data = U0RBR; //从U0RBR中读出接收到的数据
return rcv_data; //返回接收到的数据

}
/**********************************************************
* 名 称: UART0_SendByte
* 功 能: 向串口发送字节数据,并等待

首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下串口编程所要知道的那些事 下一篇UART0串口编程系列之前奏篇

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)