请问这哪里有错?为什么调试没有反应?
#include<reg51.h>
#define uchar unsigned char
#define LED P1
uchar flag,temp;
void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
ES=1;
EA=1;
}
void main()
{
init();
while(1);
{
if(flag==1)
{
flag=0;
ES=0;
SBUF=temp;
while(!TI);
TI=0;
ES=1;
}
}
}
void serial(void) interrupt 4
{
RI=0;
temp=SBUF;
LED=temp;
flag=1;
}
为什么在串口调试助手上放送数据,没有数据返回,完全没反应?!!
[解决办法]
while(1);
改成 while(1)
即去掉分号