Wenn mode == 2 ist wird die Schleife ausgeführt. Und zwar so lange bis sich mode ändert. Erst dann wird die Schleife verlassen. Wie soll die Schleife was von einer Änderung mitbekommen, wenn Du mode nur außerhalb der Schleife änderst?
Dein loop() wird so lange durchlaufen, bis beim read() eine 2 gelesen wird. Damit ist die Bedingung für die While-Schleife gültig. Die wird jetzt so lange durchlaufen, wie die Bedingung gültig ist. Nur die While-Schleife, nix davor. Da damit mode nie ein neuer Wert zugewiesen werden kann, ist die Schleife endlos gültig.
vieledinge:
Dein loop() wird so lange durchlaufen, bis beim read() eine 2 gelesen wird. Damit ist die Bedingung für die While-Schleife gültig. Die wird jetzt so lange durchlaufen, wie die Bedingung gültig ist. Nur die While-Schleife, nix davor. Da damit mode nie ein neuer Wert zugewiesen werden kann, ist die Schleife endlos gültig.
Dann hab ich wohl irgendwo etwas falsch aufgeschnappt.
Dachte nämlich mal gelesen zu haben, dass read() auch funkioniert, wenn eine Schleife bereits läuft
tut es doch aber read() liest gneu in dem augenblick wo du es aufrufst was aus, und das passierte ja auserhalb deiner schleife. Wenn du erstmal in der Schleife drin bist führtest du ja kein read mer aus. Arduino ist wie wir Menschen eben faul, wenns nix machen muß macht's nix, sprich wenn du ihm nicht sagst ließ es ständig aus dann macht es das genau einmal und dann eben nix mehr
Chaos_Lord:
Arduino ist wie wir Menschen eben faul, wenns nix machen muß macht's nix, sprich wenn du ihm nicht sagst ließ es ständig aus dann macht es das genau einmal und dann eben nix mehr
MIcrocontroller sind wie Computer: Die machen nicht das was sie sollen, sondern was man ihnen sagt....