Die Bitwait-Abfrage wie du sie gepostet hast funktioniert von der Sache her sehr gut. Wie könnte ich denn parallel zum Bitwait noch die Leds für die Stellen blinken lassen? Ich habe versucht es folgendermaßen zu lösen
Allerdings erfordert das ja einen zweimaligen Tastendruck zur Eingabe. Da erst die Blinkschleife verlassen wird und dann Bitwait kommt. Und ein einbinden des Bitwait in die Until-Bedingung war mir nicht möglich.Code:Do Do Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Loop Until Taster = 0 Bitwait Taster, Set 'Taster losgelassen Waitms 20 Bitwait Taster, Reset 'Taster gedrückt Stelle1 = Pina Do Toggle Led2 Waitms 500 Toggle Led2 Waitms 500 Loop Until Taster = 0 Bitwait Taster, Set 'Taster losgelassen Waitms 20 Bitwait Taster, Reset 'Taster gedrückt Stelle2 = PinA Do Toggle Led3 Waitms 500 Toggle Led3 Waitms 500 Loop Until Taster = 0 Bitwait Taster, Set 'Taster losgelassen Waitms 20 Bitwait Taster, Reset 'Taster gedrückt Stelle3 = Pina Do Toggle Led4 Waitms 500 Toggle Led4 Waitms 500 Loop Until Taster = 0 Bitwait Taster, Set 'Taster losgelassen Waitms 20 Bitwait Taster, Reset 'Taster gedrückt Stelle4 = Pina Gosub Vergleichen Loop End Sub Vergleichen Do If Stelle1 = &B10000000 And Stelle2 = &B00010000 And Stelle3 = &B01000000 And Stelle4 = &B11100000 Then Gosub Erfolg Else Gosub Misserfolg End If Loop End Sub
Deshalb hab ich es dann so gestaltet:
Da werden bei gehaltenem Taster zwar alle Stellen beschrieben. Aber ein manipulieren ist nicht möglich.Code:Do Do Toggle Led1 Waitms 500 Toggle Led1 Waitms 500 Loop Until Taster = 0 'Taster gedrückt Stelle1 = Pina Do Toggle Led2 Waitms 500 Toggle Led2 Waitms 500 Loop Until Taster = 0 'Taster gedrückt Stelle2 = PinA Do Toggle Led3 Waitms 500 Toggle Led3 Waitms 500 Loop Until Taster = 0 'Taster gedrückt Stelle3 = Pina Do Toggle Led4 Waitms 500 Toggle Led4 Waitms 500 Loop Until Taster = 0 'Taster gedrückt Stelle4 = Pina Gosub Vergleichen Loop End Sub Vergleichen Do If Stelle1 = &B10000000 And Stelle2 = &B00010000 And Stelle3 = &B01000000 And Stelle4 = &B11100000 Then Gosub Erfolg Else Gosub Misserfolg End If Loop End Sub







Zitieren
Lesezeichen