⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart0.c.bak

📁 基于UCOS的万年历
💻 BAK
字号:
#define USRT0_H
#include "config.h"
/*
*******************************************************************************************************
** 函数名称 :UART0_Init()
** 函数功能 :初始化串口0:波特率115200,8位数据位,1位停止位,无奇偶校验。
** 入口参数 :无
** 出口参数 :无
*******************************************************************************************************
*/
void UART0_Init (uint32 bps)
{
	uint16 Fdiv;
	
	PINSEL0 = (PINSEL0 & 0xfffffff0) | 0x05;    /* 选择管脚为UART0 */
	U0LCR = 0x83;		// DLAB = 1
	Fdiv = (Fpclk / 16) / bps;
	U0DLM = Fdiv / 256;
	U0DLL = Fdiv % 256;
	U0LCR = 0x03;
}

/*
*******************************************************************************************************
** 函数名称 :UART0_SendByte()
** 函数功能 :向串口发送字节数据,并等待数据发送完毕。
** 入口参数 :data		要发送的数据
** 出口参数 :无
*******************************************************************************************************
*/
void uart0SendByte (uint8 data)
{
	U0THR = data;
	
	while ((U0LSR & 0x40) == 0);	// 等待数据发送完毕
}

/*
*********************************************************************************************************
* Function name:     pcDispChar
* Descriptions:      向PC机发送显示字符
* Input parameters:  no	显示位置
*			          chr	显示的字符,不能为ff
* Output:            无
*********************************************************************************************************
*/
void pcDispChar (uint8 no, uint8 chr)
{
    uart0SendByte(0xff);
    uart0SendByte(0x81);
    uart0SendByte(no);
    uart0SendByte(chr);
    uart0SendByte(0x00);
}
/*
*******************************************************************************************************
** 函数名称 :ISendStr()
** 函数功能 :向上位机发送字符串。
** 入口参数 :x		显示字符的横坐标
**			  y		显示字符的纵坐标
**			  color	显示的状态,包括前景色、背景色、闪烁位。
**					与DOS字符显示一样:0~3,前景色,4~6,背景色,7,闪烁位。
**			  str	要发送的字符串,以'\0'结束
** 出口参数 :无	
*******************************************************************************************************
*/
void ISendStr (uint8 x, uint8 y, uint8 color, char *str)
{
	while (1)
	{
		if (*str == '\0')	break;	// 结束字符
		PC_DispChar(x++, y, *str++, color);
		if (x >= 80)
		{
			x = 0;
			y++;
		}
	}
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -