如果不会在内部触发
If won't trigger inside while
目前我正在尽最大努力编写微控制器。
int main()
{
init_ports();
while(1){
if(gameStatus == 1){
gameStatus = 2;
beep(120);
}
}
}
是我的主,gameStatus是全局的uint_8。它由按下按钮引起的中断设置。
ISR(INT0_vect){
if(gameStatus == 0)
gameStatus = 1; // that works
}
不过主程序根本无法识别 gameStatus。这可能是有原因的吗?
谢谢!
感谢 wildplasser!
改变
uint8_t gameStatus = 0;
进入
volatile uint8_t gameStatus = 0;
成功了。
https://en.wikipedia.org/wiki/Volatile_(computer_programming)
目前我正在尽最大努力编写微控制器。
int main()
{
init_ports();
while(1){
if(gameStatus == 1){
gameStatus = 2;
beep(120);
}
}
}
是我的主,gameStatus是全局的uint_8。它由按下按钮引起的中断设置。
ISR(INT0_vect){
if(gameStatus == 0)
gameStatus = 1; // that works
}
不过主程序根本无法识别 gameStatus。这可能是有原因的吗?
谢谢!
感谢 wildplasser!
改变
uint8_t gameStatus = 0;
进入
volatile uint8_t gameStatus = 0;
成功了。
https://en.wikipedia.org/wiki/Volatile_(computer_programming)