第一个程序,永久进入循环,除非复位,否则出不了循环
第二个程序,每延时1us判定一次,如果Z2仍然是0则继续循环
至于中断里把Z2置为1则死循环,那个是硬件出错了
您好,如果是在ISR更新z2的值的話,您的z2需要宣告成global volatile變數
volatile u8 z2=0;
或者
volatile short z2=0;
然後再次嘗試看看
以上供參考
为什么这个wile(1)能不响应中断?这不科学啊!!!
我也不知道说什么好了。。。。。
第二种情况下是有其他的程序在运行,即这个延时函数,在延时函数进行的时候会进入到中断中进行置位。
但是第一种情况下,在while中没有函数在运行,那么程序就一直在while里,不会进中断的。