主程序while如下:
int main(void)
{
.
.
.
flag = 0;
while(1)
{
if(flag == 1)
{
PRINT("enter flag == 1");
flag = 0;
}
}
}
会有一个中断,这个中断只触发一次,当进入这个中断时,flag=1。问题就出在这之后,使用上面这种while里面,明明flag=1了,但是就是进入不了if(flag == 1)里面。但是当while里面一个延迟或者语句,当中断使flag=1时,就能够进入if(flag == 1)里面了。
while(1)
{
①这里加延迟或者任意语句,nop都行
if(flag == 1)
{
PRINT("enter flag == 1");
flag = 0;
}
}
如果单独一个if,始终进不去,不知道这种事什么原因造成的?