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; // 清除发送中断标志
|
||
|
}
|