寻找一些循环逻辑的帮助。现在,这只是陷入了一个while循环,但没有中断。大部分只是好奇,但我怎么能这样做,所以串口写继续只是每次写,但lightThis()函数只被调用一次?
void loop(){
if ( (x >= 245 && x <= 260) && (accelDifference > STAB_THRESHOLD)){
// write a command to serial
Serial.print("p1stab");
// trace this for now
Serial.print("\t");
Serial.print(x);
Serial.print("\t");
Serial.print(y);
Serial.print("\t");
Serial.print(z);
Serial.print("\n");
// keep the LED solid
while(true) {
lightThis();
if (false){
break;
}
}
} else {
Bean.setLed(0, 0, 0);
}
}
谢谢!
答案 0 :(得分:1)
假设您在代码中的其他位置调用了loop(),可以在该位置调用lightThis(),并跟踪它只被调用一次。
boolean doneOnce = false;
for (...){
loop();
if (!doneOnce){
lightThis();
doneOnce = true;
}
}
请原谅代码,我不确定你的编码是什么,但是你明白了。