25 lines
632 B
C
25 lines
632 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; // 清除发送中断标志
|
|
} |