主程序while如下:
int main(void)
{
???????? .
?????????.
?????? ? .
????flag = 0;
????while(1)
????{
????????if(flag == 1)
????????{
????????????PRINT("enter flag == 1");
????????????flag = 0;
????????}
????}
}
會有一個中斷,這個中斷只觸發(fā)一次,當(dāng)進(jìn)入這個中斷時,flag=1。問題就出在這之后,使用上面這種while里面,明明flag=1了,但是就是進(jìn)入不了if(flag == 1)里面。但是當(dāng)while里面一個延遲或者語句,當(dāng)中斷使flag=1時,就能夠進(jìn)入if(flag == 1)里面了。
? ?while(1)
????{
????? ? ①這里加延遲或者任意語句,nop都行
????????if(flag == 1)
????????{
????????????PRINT("enter?flag == 1");
????????????flag = 0;
????????}
????}
如果單獨(dú)一個if,始終進(jìn)不去,不知道這種事什么原因造成的?