如果没有对方回送数据,是无法判断的。找你所说,可以用如下程序验证。
#include<reg51.h>
sbit led=P1^0;
unsigned char dat;
void delay(int a)
{
unsigned char i;
while(a--)for(i=0;i<120;i++);
}
void uart() interrupt 4
{
if(RI)
{
RI=0;
if(SBUF==dat)led=0;
}
}
main()
{
TMOD=0x20;
TH0=0xfd;
TL0=0xfd;
TR1=1;
SCON=0x50;
while(1)
{
led=1;
SBUF=dat;
while(TI==0);
TI=0;
delay(5000);
}
}
追问你的处理判断是在这里面吗?
void uart() interrupt 4
{
if(RI)
{
RI=0;
if(SBUF==dat)led=0;
}
}