📄 uart_init.c
字号:
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg52.h>
//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
// 串口接收中断允许,发送中断禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
//初始化串行口和波特率发生器
SCON =0x50; //选择串口工作方式,打开接收允许
T2CON=0x30; //选择定时器2做为波特率发生器
RCAP2H=0xff; //实现波特率115.2kbps(系统时钟11.0592MHZ)
RCAP2L=0xfd;
TH2=0xff;
TL2=0xfd;
TR2 =1; //启动定时器T2
ET1 =0;
ES=1; //允许串行口中断
PS=1; //设计串行口中断优先级
EA =0; //单片机中断禁止
}
//--------------------------------------------------------------------------------------------------
// 函数名称: com_rec()串口接收处理函数
// 函数功能: 接收数据到数据缓冲区
//--------------------------------------------------------------------------------------------------
com_rec()
{
unsigned char REC_buffer;
while(!RI);
RI=0;
REC_buffer=SBUF;
return REC_buffer;
}
//--------------------------------------------------------------------------------------------------
// 函数名称: com_send()串口发送处理函数
// 函数功能: 将缓冲中的数据通过串口发送
//--------------------------------------------------------------------------------------------------
void com_send(unsigned char SEND_buffer)
{
SBUF=SEND_buffer;
while(!TI);
TI=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -