C51自学求解答
时间:10-02
整理:3721RD
点击:
初学C51,在一个串口中断的程序中,标志位flag3的赋值出现问题。
void chuankou() interrupt 4
{
RI=0;
save=SBUF;
flag2=1;
if(save==1)
flag3=1;
else if(save==2)
flag3=2;
else
flag3=3;
}
我在串口助手中,发送1,2,3,4…………,但是不论发出什么,flag3的值始终只是flag3=3;save的值正常。flag2等的值一切正常。
请问这是什么原因?if和else的判断为什么没有起到作用?
void chuankou() interrupt 4
{
RI=0;
save=SBUF;
flag2=1;
if(save==1)
flag3=1;
else if(save==2)
flag3=2;
else
flag3=3;
}
我在串口助手中,发送1,2,3,4…………,但是不论发出什么,flag3的值始终只是flag3=3;save的值正常。flag2等的值一切正常。
请问这是什么原因?if和else的判断为什么没有起到作用?