/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//函数名称: void InitUART0( WORD Baudrate )
//函数功能: 串口 0 初始化
//入参: Baudrate----波特率
//返回值: 无
//调用模块: 无
//作者:
//日期: 2013-3-18
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void InitUART0( WORD Baudrate )
{
uint8 atag;
/* pin configure */
// PCONP |= (1<<3) ; // UART0 power/clock control bit
PINSEL0 |= (0x01L << 4); // TXD0
PINSEL0 |= (0x01L << 6); // RXD0
/* BAUDRATE configure*/
U0LCR = 0x80; // DLAB 位置 1
U0DLM = 0x00; // (Fpclk>>4)/57600;
switch( Baudrate )
{
case 4800:
U0DLL = 104; //
U0FDR = 0x21;
break;
case 9600:
U0DLL = 52;
U0FDR = 0x21; // DIVADDVAL = 1, MULVAL = 2
break;
case 19200:
U0DLL = 26;
U0FDR = 0x21;
break;
case 38400:
U0DLL = 13;
U0FDR = 0x21;
break;
case 115200:
U0DLL = 4;
U0FDR = 0x85; // DIVADDVAL = 5, MULVAL = 8
break;
}
/* N/8/1 */
U0LCR = 0x03; //