uart.c

来自「基于51定时器时间片轮循调度函数软件」· C语言 代码 · 共 85 行

C
85
字号

#define  UART_G
#include "allhard.h"


void UartInit(void)
{
	EA = 0;          
	TR2 = 0 ; ES = 0;
	
	SCON = 0x50;
/*	SCON |= 0xC0;
	SM2 = 1;
	TB8 = 0;
	RB8 = 1;
	REN = 1;*/
	TCON = 0x00;  PCON = 0x00;
	T2CON = 0x34; T2MOD = 0x11;

	TH2 = 0xFF ;	 TR2 = 0xDC ;
	RCAP2H = 0xFF ;  RCAP2L = 0xDC ;
	
	EA = 1;
	ES = 1;  TR2 = 1;
	
}

void UartServe(void)  interrupt 4
{
	if (TI)
	{
		TXDByte = TRUE;
		TI = 0;
	}
	if (RI)
	{
//		RXDIn = RXDIn & 0x0F;
		RxBuffer[RXDIn++] = SBUF;
		RI = 0;
	}

}

void SendMessage( uchar *p )
{
	while( *p != '\0')
	{
		TXDByte = FALSE ;
		SBUF = *(p++);
		while( !TXDByte ); 
	}
}

void SendByte( uchar byte) 
{
	TXDByte = FALSE ;
	SBUF = byte;
	while(!TXDByte);

}

/*void  RxdBufffer(void)
{
	uchar numlong;
	if(CommandFlag == 0x01)
	{
		numlong = RxIn - RxOut;


	}
	else 
	{
		while(TmpOut !=  RxIn)
		{
			

		}

	}

}*/



⌨️ 快捷键说明

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