void Send() interrupt 4
{
bit flag1=0,flag2;
uchar receive,lenth,i;
if(RI==1)
{
RI=0;
receive=SBUF;
if(receive==0x02&&lenth==0)
{
buf[0]=receive;
flag2=1;
}
if(flag2==1)
{
while(!RI);
RI=0;
lenth++;
buf[lenth]=receive;
}
while(receive!=0X03);
if(lenth==6&&buf[4]==0x97)
{
lenth=0;
flag1=1;
flag2=0;
}
if(flag1==1)
{
wen();
SBUF=0X02;
while(!TI);
TI=0;
for(i=0;i<11;i++)
{
SBUF=tab[i];
while(!TI);
TI=0;
}
SBUF=0X03;
while(!TI);
TI=0;
}
}
}
这是中断程序,请指教
您说这程序怎么改吧
追答你要完成什么功能都不知道,我也不知道怎么改。
起码像下面那位lycdl说的,你这么写不等着死机嘛!
这类的代码在百度里很多的,先参考参考别人的。。。。。
我是要接收一串特定的字符,然后放入数组,之后再比较,我也看过很多,可是感觉很杂,也试了,但是不行
追答改好了,字数太多,发不上去。。私信吧!!
if(RI==1)
{
RI=0;
receive=SBUF;
switch(job_flag)
{
case 0:
if(receive=='$')//判断起始符号
{
job_flag=1;
}
break;
case 1: //判断接收数据长度
lenth=receive;
job_flag=2;
break;
改好了,字数太多,发不上去。。私信吧!!
1286020837