So springen Sie in einer Switch-Case-Bedingung sofort zu einer anderen Case-Anweisung [geschlossen]
Posted: 19 Jan 2025, 20:24
4-Zustands-Zustandsmaschine in der Arduino-IDE: Wenn im Fall STANDBY die erste Bedingung „true“ zurückgibt, möchte ich sofort in den FAULT-Zustand wechseln und die folgenden 20 Codezeilen in diesem Fall auf keinen Fall ausführen. Wie kann ich das machen?
Der aktuelle Code ist das, was ich bisher versucht habe, zusammen mit dem Hinzufügen/Entfernen von Break-Anweisungen an bestimmten Stellen. Ich bin mir nicht sicher, wie das geht.
Code: Select all
enum {STANDBY, ACCESSORY, PRIMARY, FAULT} state = STANDBY;
// more variables and setup() function ...
void loop() {
switch(state) {
case STANDBY:
if(is_fault(0)) {
state = FAULT;
break;
}
// 20 more lines of code that i don't want to execute if the if-condition was true.
state = PRIMARY;
break;
case ACCESSORY:
if(is_fault(0)){
state = FAULT;
}
break;
case PRIMARY:
if(is_fault(1)) {
state = FAULT;
}
break;
case FAULT:
// do lots of stuff that I have not written yet
break;
}
}