Zitat Zitat von HaWe Beitrag anzeigen
jap, in den Klammern steht der Körper:
while(Bedingung) {Körper}
der Körper wird solange wiederholt ausgeführt, wie die Bedingung True ist.
Er soll aber gar nichts öfters ausführen, sondern nur warten, solange die Bedingung wahr ist, also die Taste (noch) NICHT gedrückt wurde.
Daher brauchen wir keinen Körper:
Wenn du schon so lang ausholst, dann bitte richtig:

nach einem while wird der nächste Befehl ausgeführt, solange die Bedingung wahr ist. Und zwar ein und genau ein Befehl. Wird im Körper, wie du das bezeichnet hast, mehr als ein Befehl gebraucht, fasst man sie durch geschweifte Klammern zu einem Befehl zusammen. Mindestens ein Befehl muß aber dastehen, zur Not ein leerer Befehl, der nur aus dem Semikolon, dem Befehlsende in C, besteht. Ein C NOP gewissermaßen. Gute Praxis ist, selbst wenn es nur einen Befehl ist, ihn in geschweiften Klammern zu schreiben. Zusammen mit passenden Einrückungen sieht man dann viel schneller, was alles zur Schleife gehört.

Code:
while ( digitalRead(13) ) {
    ;
 }
Und natürlich wird etwas öfter ausgefürt, nämlich das Lesen des Portpins. Wenn man das deutlich machen will, sollte man schreiben:
Code:
while ( true ) {
      if ( digitalRead(13) == 1 ) {
          break;
      }
}
So kapiert jeder sofort, worum es geht, selbst wenn er nach Jahren noch mal auf diesen Code stößt.

MfG Klebwax