#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;}