Habe ich das richtig verstanden, man kann einen Testausdruck nur eine Anweisung zuweisen?
Streng genommen ja, aber ein Block gilt in diesem Zusammenhang auch als Anweisung. Du müsstest dann statt
Code:
else if (t1 & 0x38 || t2 & 0x07)
MotorRwd();
Msleep(1000);
break;
Code:
else if (t1 & 0x38 || t2 & 0x07) {
MotorRwd();
Msleep(1000);
break;
}
schreiben.
Mir ist noch aufgefallen, dass du in deinem Testausdruck bei if
Code:
(t1 & 0x38 || t2 & 0x07)
geschrieben hast. Ich weiß zwar nicht genau, welche Operatoren da die höhere Priorität haben, aber ich vermute, dass das nicht genau das macht, was du willst. Schreibe stattdessen lieber
Code:
((t1 & 0x38) || (t2 & 0x07))
Durch diese Klammerung wird der Ausdruck auch ein bisschen übersichtlicher.
Lesezeichen