📄 uart.h.bak
字号:
#include "reg52stc.h"
//#include "led.h"
#define Tnum 1
unsigned char isr=0;
unsigned char tBuf[Tnum];
sbit led0=P1^0;
unsigned char i;
unsigned char k;
unsigned char flag;
void UART_Init(void); //
void UART_Send(unsigned char);
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_Init()
{
RI=0; //串口接收中断标志必须软件清0
TMOD |= 0x20; //设置T1为波特率发生器
//TMOD= 0x21;
TH1 = 0xfd;
TL1 = 0xfd;
PCON= 0x00;
//SCON= 0xd8;
SCON= 0x50;
TR1 = 1;
ES = 1; //switch on the serial interrupt
EA = 1;
for(i=0;i<Tnum;i++) //初始化发送数据
{
tBuf[i]=0;
}
}
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_Send(unsigned char uwdata)
{
ES = 0;
TI = 0; //clear serial port sending finished interrupt require flag
SBUF= uwdata;
while(TI==0); //等待发送完成
TI = 0;
ES = 1;
}
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_receive_Interrrupt(void) interrupt 4
{
RI = 0; //清串口中断标志
if(isr<Tnum)
{
k = SBUF; //从串口调试器读数据
tBuf[isr]=k;
isr++;
}
if(isr==Tnum) //收到第32个数据
{
//k = SBUF; //从串口调试器读数据
isr=0;
flag=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -