#include "exynos_4412.h"
void Delay(unsigned int Time)
{
while(Time --);
}
void UART_Init(void)
{
GPA1.CON = GPA1.CON & (~(0xFF << 0)) | (0x22 << 0);
UART2.ULCON2 = UART2.ULCON2 & (~(0x7F << 0)) | (0x3 << 0);
UART2.UCON2 = UART2.UCON2 & (~(0xF << 0)) | (0x5 << 0);
UART2.UBRDIV2 = 53;
UART2.UFRACVAL2 = 4;
}
void UART_Send_Byte(char Dat)
{
/*等待发送寄存器为空,即上一个数据已经发送完成 UTRSTAT2[1]*/
while(!(UART2.UTRSTAT2 & (1 << 1)));
/*将要发送的数据写入发送寄存器 UTXH2*/
UART2.UTXH2 = Dat;
}
char UART_Rec_Byte(void)
{
char Dat = 0;
/*判断接收寄存器是否接收到了数据 UTRSTAT2[0]*/
while(!(UART2.UTRSTAT2 & 1));
/*从接收寄存器中读取接收到的数据 URXH2*/
Dat = UART2.URXH2;
return Dat;
}
void UART_Send_Str(char * pstr)
{
while(*pstr != '\0')
UART_Send_Byte(*pstr++);
}
int main()
{
char RecDat = 0;
UART_Init();
// GPX2.CON = GPX2.CON & (~(0xF << 28)) | (0x1 << 28);
GPX1.CON = GPX1.CON & (~(0xF)) | (0x1);
while(1)
{
RecDat = UART_Rec_Byte();
printf("RecDat is:%c",RecDat);
if(RecDat == '2')
{
// GPX2.DAT = GPX2.DAT | (1 << 7);
GPX1.DAT = GPX1.DAT | 1;
}
else
{
continue;
}
loop: RecDat = UART_Rec_Byte();
printf("RECDAT:%c",RecDat);
if(RecDat == '2')PG
{
// GPX2.DAT = GPX2.DAT | (~(1 << 7));
GPX1.DAT = GPX1.DAT & (~1);
}
else
{
goto loop;
}
}
return 0;
}