📄 uart.h
字号:
#include "reg52stc.h"
//#include "led.h"
#define Tnum 32
unsigned char isr=0;
unsigned flag=0;
unsigned char tBuf[Tnum]; //所发送的数据存放在该数组
unsigned char rBuf[Tnum]; //所接收到的数据存储在该数组
sbit led0=P1^0;
//unsigned char FSmima=0x00; //发送判决标志,收到的数据若为0x55,则发送一帧数据(共32字节)
void UART_Init(void); //
void UART_Send(unsigned char);
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
void UART_Init()
{
RI=0; //串口接收中断标志必须软件清0
TMOD |= 0x20; //设置T1为波特率发生器
//TMOD= 0x21;
TH1 = 0xfd; //9600baud
TL1 = 0xfd;
PCON= 0x00;
SCON= 0xd8;
//SCON= 0x50;
TR1 = 1;
ES = 1; //switch on the serial interrupt
EA = 1;
}
//*****************************************************//
//函数名:
//输入参数:
//输出参数:
//功能描述:
//*****************************************************//
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
{
if(isr<Tnum)
{
tBuf[isr]=SBUF;
isr=isr+1;
}
if(isr==Tnum) //收到第32个数据
{
isr=0;
flag=1;
}
RI=0; //清串口中断标志
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -