Pages: [1]   Go Down
Author Topic: Mit Taster while beenden  (Read 56 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

leider hänge ich wieder fest.
Ich möchte gerne eine while mit einem Taster beenden.

So sieht die while aus.
 while (bereitschaft == LOW)

Das ganze soll später für mein Wecker sein.
Er soll halt so lange klinkeln bis der Taster gedrückt wird.

Könnte mir jemand bitte ein Tipp geben wie ich es anstelle?

Schöne Grüße
Berbel
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 172
Posts: 3245
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So sieht die while aus.
 while (bereitschaft == LOW)

Das ganze soll später für mein Wecker sein.
Er soll halt so lange klinkeln bis der Taster gedrückt wird.

Könnte mir jemand bitte ein Tipp geben wie ich es anstelle?

Du musst den Taster innerhalb der while-Schleife auslesen, damit sich die geprüfte while-Bedingung überhaupt ändern kann. Wenn Du die Variable bereitschaft innerhalb der while-Schleife nicht änderst, behält sie immer denselben Wert, die sie am Anfang der while-Schleife bereits hat.

Also entweder so ändern:
Code:
while (bereitschaft == LOW)
{
  bereitschaft=digitalRead(BEREITSCHAFTSPIN);
}

Oder so:
Code:
while (digitalRead(BEREITSCHAFTSPIN) == LOW);
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
while (digitalRead(BEREITSCHAFTSPIN) == LOW);


Das Problem lag am SainSmart 1602 LCD Keypad Shield. Hatte mein Taster am Pin4 angeschlossen, jeden falls dachte ich es.
Am Shield wird der Pin4 gar nicht nach außen geführt, sondern von Pin3 gleich auf Pin11  smiley-slim.
Da kann ich es ja auch lange versuchen  smiley-eek-blue.

Vielen dank für deine Schnelle Antwort.

Schöne Grüße
Berbel
Logged

Pages: [1]   Go Up
Jump to: