#include "H/Function_Init.H" 
#if (Test == 6)

unsigned char xdata SPOS_TX0  _at_  0x0120;
unsigned char xdata SPOS_RX0  _at_  0x0121;

uint8_t UART_RxData[5];
void Uart0_Init(uint Freq,unsigned long int baud);
bit UartSendFlag1 =0; //发送中断标志位
bit UartReceiveFlag1 = 0; //接收中断标志位
bit UartSendFlag2 = 0; //发送中断标志位
bit UartReceiveFlag2 = 0; //接收中断标志位
/*****************************************************
*函数名称：void Uart0_Test(void)
*函数功能：Uart测试
*入口参数：void
*出口参数：void
*****************************************************/
void Uart_Test(void)
{
  int num1,num2;
	/* 进行端口映射 */
  SPOS_TX0 = 20; //SPOS_TX0映射P13
	SPOS_RX0 = 21; //SPOS_RX0映射P12
	
	Uart0_Init(32,115200);
	
	while(1)
	{
		for(num1=0;num1<5;num1++)
		{
			while(!UartReceiveFlag1);
			UartReceiveFlag1 = 0;
			UART_RxData[num1] = SBUF;
		}
		for(num2=0;num2<5;num2++)
		{
			SBUF = UART_RxData[num2];
			while(!UartSendFlag1);
			UartSendFlag1 = 0;
		}
		Delay(1000);
	}

}

/*****************************************************
*函数名称：void Uart0_Init(uint Freq,unsigned long int baud)
*函数功能：Uart0中断初始化
*入口参数：Freq-主频，baud-波特率
*出口参数：void
*****************************************************/
void Uart0_Init(uint Freq,unsigned long int baud)    //选择Timer1作为波特率信号发生器
{
	SPOS_TX0= 15;
	SPOS_RX0= 14;
	P2CON &= 0x3F;   //TX/RX设置为输入带上拉
	P2PH  |= 0xC0;
	
	SCON  |= 0X50;   //设置通信方式为模式一，允许接收
	TMCON |= 0X02;
	TMOD  |= 0X20;
	PCON  |= 0X00;	//SMOD=0
	TH1 = (Freq*1000000/baud)>>8;	  //波特率为T1的溢出时间；
	TL1 = Freq*1000000/baud;
	TR1 = 0;
	ET1 = 0;
	EUART = 1;     //开启Uart0中断
	EA = 1;
}

/*
void Uart0_Init(uint Freq,unsigned long int baud)    //选择Timer2作为波特率信号发生器
{
	P1CON &= 0xF3;   //TX/RX设置为输入带上拉
	P1CON |= 0x0C;
	P1PH  |= 0x04;
	P13 = 1;

	U0SCON  |= 0X50;   //设置通信方式为模式一，允许接收
	TXINX &= 0x07;
	TXINX |= 0x02;
	TXMOD = 0x80;
	TXCON = 0X30;
	RCAPXH = Freq*1000000/baud/256;
	RCAPXL = Freq*1000000/baud%256;
	TRX = 0;
	ET2 = 0;
	EUART = 1;     //开启Uart0中断
	EA = 1;
}
*/


/*****************************************************
*函数名称：void UartInt(void) interrupt 4
*函数功能：Uart0中断函数
*入口参数：void
*出口参数：void
*****************************************************/
void Uart0Int(void) interrupt 4
{
	if(TI)
	{
		TI = 0;	
		UartSendFlag1 = 1;		
	}
	if(RI)
	{
		RI = 0;	
		UartReceiveFlag1 = 1;
	}	
}

#endif

