目前我正在尽我最大的努力编程一个微控制器。
int main()
{
init_ports();
while(1){
if(gameStatus == 1){
gameStatus = 2;
beep(120);
}
}
}
是我的主打,游戏状态是一个全球性的单元8。它由按下按钮引起的中断来设置。
ISR(INT0_vect){
if(gameStatus == 0)
gameStatus = 1; // that works
}
但主播根本不认识游戏状态。这有什么原因吗?
谢谢!
最佳答案
感谢wildplasser!
改变
uint8_t gameStatus = 0;
进入之内
volatile uint8_t gameStatus = 0;
成功了。
https://en.wikipedia.org/wiki/Volatile_(computer_programming)
关于c - 如果一会儿不会触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41025951/