While Schleife Button

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,
    Kann mir jemand sagen was ich Falsch mache?


    Dies sollte dafür dienen dass, das Programm wartet bis ein Taster gedrückt wird.

    Ready when you are :bravo2:

  • Irgendwie komisch ist auch, dass du im ersten while überprüfst, ob alle drei GPIO-Ports auf "HIGH" sind und anschließend versuchst du jeden Status einzeln abzufragen, ob jeder Taster (?) den Wert "HIGH" hat.
    Gruß
    Matze

  • Ich bin ja gerade erst am Lernen von Python, aber für mich sehen deine Einrückungen seltsam aus. Sollte das time.sleep nicht mit der if-Anweisung bündig sein?
    Python "lebt" von den richtigen Tabs.

  • Also wenn du gar nicht mehr aus dieser Schleife raus willst, würde ich einfach eine Dauerschleife empfehlen. Du schreibst einfach while(1). Danach kannst du mit den anderen if-Abfragen den Status deiner Taster überprüfen. Kenne mich leider in Python nicht aus aber das funktioniert zumindest in allen Programmiersprachen die ich kenne.
    Das was du da gebaut hast ist eher, solange alle Taster "High" sind, überprüfe jeden einzelnen Taster ob dieser "High" ist und führe dann die entsprechende Funktion aus. Also gehst du davon aus, dass alle Taster auf "High" stehen und überprüfst danach nochmal das gleiche. Wie gesagt wenn du das in ner Dauerschleife haben willst nehme while(1) und den Rest kannste (bis auf die Einrückungen aber kenne mich da nicht aus) so lassen. Wenn nicht musste vielleicht dein Problem etwas genauer beschreiben.


    Grüße

  • Nein es soll gewartet werden bis einer der Eingänge schaltet
    36,37 und 38 sind Eingänge.


    Das Programm soll warten bis einer der Eingänge schaltet!
    Und anschliessen je nach dem welcher geschaltet hat den wert setzen.

    Ready when you are :bravo2:

  • Wie komme ich denn aus der schleiffe raus :s


    Erledigt danke

    Ready when you are :bravo2:

    Edited once, last by schnibli ().

  • Die while wird so lange ausgeführt wie dessen Bedingung zutrifft. In Deinem Fall wird die while also ausgeführt solange alle 3 GPIO's ein HIGH anzeigen, was somit nicht dem entspricht was du beschrieben hast.


    //EDIT: erneut: In Python sind Einrückungen extrem wichtig! Du hast weiterhin 2 fehlerhafte Einrückungen!


    Eine while beendest du durch die Bedingung, oder durch break

  • Hat sich erledigt!
    In meinem Programm sind die Einrückungen richtig, ich weis nicht wiso das nicht stimmt im Forum
    (lcd.lcd)

    Ready when you are :bravo2: