#include<reg52.h>
void init()//初始化参数
{
//定时、串口初始化
TMOD=0x20;//T1工作于方式2自动重装
TH1=0xff;
TH0=0xff;//波特率为57600晶振为11.0592M
TR1=1;//启动T1
SM0=0;
SM1=1;//工作方式1
PCON=0X80;//波特率翻倍
REN=1;//允许串口接收
EA=1;//开总中断
ES=1;//开串口中断
}
void main()
{
init();
ES=0;
SBUF=0x31;
while(!TI)
TI=0;
ES=1;
}
经询问说main函数中改为
void main()
{
init();
ES=0;
SBUF=0x31;
while(!TI)
TI=0;
while(1)
{
}
}
经验证,成功了 但是不明白删除ES=1和增加while(1)两个条件的原因 求讲解