uart.c

来自「C8051F的AD(内置)接收转换程序以及串口收发程序。」· C语言 代码 · 共 72 行

C
72
字号
/************************************************************************************
*  Copyright (c) 2004,西安铭朗电子科技有限责任公司
*            All rights reserved.
*
* 文件名称: Uart.C
* 文件标识: none
* 适用器件: C8051F120
* 
* 摘 要:
* 
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年1月12日
*
* 历史版本:0.9 
* 原作者 : 张宁强
* 完成日期:2005年x月xx日
*************************************************************************************/

#include "MAIN.h"

void UartInit(void)//UART初始化
{
   char SFRPAGE_SAVE = SFRPAGE;       // 保存当前SFRPAGE
   SFRPAGE = UART0_PAGE;              // 改变页

	SCON0 = 0x50;
   TI0 = 1;

   SFRPAGE = TIMER01_PAGE;            // 改变页

	TMOD &= 0x0f;//选择T1工作模式
	TMOD |= 0x20;
	TH1 = 256 - SYSCLK / UART0BAUDTATE / 32 / 12;
	TR1 = 1;

   SFRPAGE = SFRPAGE_SAVE;            // 恢复SFRPAGE
}


void UartOut(unsigned char *SendByteAdd,unsigned char Count)//发送
{
	unsigned char n;
   char SFRPAGE_SAVE = SFRPAGE;       // 保存当前SFRPAGE
   SFRPAGE = UART0_PAGE;              // 改变页

	for(n=0;n<Count;n++)
	{
		SBUF0=*SendByteAdd;
		SendByteAdd++;
		while(!TI0);
		TI0 = 0;
	}

   SFRPAGE = SFRPAGE_SAVE;            // 恢复SFRPAGE
}


unsigned char UartReceive(void)//接收
{
   char SFRPAGE_SAVE = SFRPAGE;       // 保存当前SFRPAGE
   SFRPAGE = UART0_PAGE;              // 改变页

	while(!RI0);
	RI0 = 0;   // 清除RI
	return SBUF0;

   SFRPAGE = SFRPAGE_SAVE;            // 恢复SFRPAGE
}


⌨️ 快捷键说明

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