/*----------------------------------------------------------------------------
*---------------------------------------------------------------------------*/
#include "shell.h"
#include "2440addr.h" /* S3C2440 definitions */
#define LED_SPARK_TIME_DELAY 400000
/* LED: PB5678 low light */
// 01 01010100 00000000
/*******************************************************
【函数功能】 串口初始化
********************************************************/
void uartini(void)
{
rGPHCON = 0xaa;
rGPHUP = 0x0f;
rUFCON0 = 0x0;
rUMCON0 = 0x0;
rULCON0 = 0x3; //Line control register : Normal,No parity,1 stop,8 bits
rUCON0 = 0x05; // Control register
rUBRDIV0=( (int)(304000000/6/16./115200+0.5) -1 );
}
/*******************************************************
【函数功能】 发送字符
********************************************************/
void uartSendByte(char data)
{
if(data=='\n')
{
while(!(rUTRSTAT0 & 0x2));
// Delay(1); //because the slow response of hyper_terminal
rUTXH0 = '\r';
}
while(!(rUTRSTAT0 & 0x2)); //Wait until THR is empty.
// Delay(1);
rUTXH0 = data;
}
/*******************************************************
【函数功能】 发送字符串
********************************************************/
void uartSendString(char *pt)
{
while(*pt)
uartSendByte(*pt++);
}
/*******************************************************
【函数功能】 读取串口
********************************************************/
char uartGetChar(void)
{
while(!(rUTRSTAT0 & 0x1)); //Receive data ready
return rURXH0;
}
/*******************************************************
【函数功能】 延时
********************************************************/
void Led_Delay(void)
{
long i=0;
for(i=0; i<LED_SPARK_TIME_DELAY; i++);
return;
} |