31 lines
631 B
C
31 lines
631 B
C
#include "uart.h"
|
|
#include <STC15.H>
|
|
|
|
void
|
|
Uart1_Init (void) // 115200bps@30.000MHz
|
|
{
|
|
SCON = 0x50; // 8位数据,可变波特率
|
|
AUXR |= 0x01; // 串口1选择定时器2为波特率发生器
|
|
AUXR |= 0x04; // 定时器时钟1T模式
|
|
T2L = 0xBF; // 设置定时初始值
|
|
T2H = 0xFF; // 设置定时初始值
|
|
AUXR |= 0x10; // 定时器2开始计时
|
|
ES = 1; // 使能串口1中断
|
|
}
|
|
|
|
// 重定向putchar函数
|
|
char
|
|
putchar (char c)
|
|
{
|
|
UART_SendByte (c);
|
|
return c;
|
|
}
|
|
|
|
void
|
|
UART_SendByte (unsigned char dat)
|
|
{
|
|
SBUF = dat;
|
|
while (!TI)
|
|
; // 等待发送完成
|
|
TI = 0; // 清除发送中断标志
|
|
} |