Ich arbeite derzeit mit Raspberry Pi . Ich habe ein Push-Button- Programm (Switch) mit Python implementiert . Wenn ich jedoch den Schalter drücke, sind if
Zustand true
und Daten gespeichert, aber wenn ich den Schalter loslasse, bleibt mein Programm hängen. Warum?
Mein Skript:
#!/usr/bin/python
import RPi.GPIO as GPIO
switch_1 = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(switch_1, IN.OUT)
while(True):
sw1_status = GPIO.input(switch_1)
print 'Switch_1 : ', sw1_status
if sw1_status == True:
print ('Data stored')
while(sw1_status != 0): // here my program stuck.
pass
Antworten:
Ihr Programm steckt fest, weil Sie eine Endlosschleife darin erstellt haben. Bis Sie an der
while(sw1_status != 0)
Linie ankommen,sw1_status
ist dies garantiertTrue
undTrue != 0
wird immer ausgewertetTrue
.Vielleicht bedeutet Sie wartet , bis die Taste losgelassen wird, in welchem Fall Sie aktualisieren möchten
sw1_status
in der Schleife durch den Ersatzpass
mitsw1_status = GPIO.input(switch_1)
.quelle
Auch habe ich benutzt
anstatt
Es funktioniert gut.
quelle