Tastenunterbrechung einer for/next schleife

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Tastenunterbrechung einer for/next schleife

      Hallo Forengemeinde,

      kann man eine For/Next Schleife durch einen Tastendruck auf Anfang stellen ?
      Der Sinn ist :
      Wir haben eine Zugsteuerung die bei Wagentrennung ein Signal gibt und den Zug stoppt.
      Darin enthalten ist eine Totmannsteuerung mit Taste,nach Zeit ertönt ein Summer,die Taste muss
      gedrückt werden und der Zug fährt weiter.Drückt man die Taste nicht,wird das Zugstopprogramm
      ausgelöst.Das ganze war mal in C-Controll geschrieben.Das Zugstoppprogramm habe ich in
      BASCOM umschreiben können und funktioniert.Nur mit der Totmannschaltung habe ich Probleme.
      Deswegen meine Frage .Welche BASCOM Befehle wären für mich nützlich.

      Gruß
      Jürgen
    • Auf Anfang stellen nicht, aber du kannst den Wert selbst auf Anfang stellen

      For I = 1 To X
      If Taster = 1 Then I = 1
      Next

      Ein For-Schleife verlässt du mit Exit For

      Der Watchdog kommt nicht in Frage?

      Die Abfrage eines Totmannschalters in einer For-Schleife ist nicht optimal.
      In der Zeit läuft der Rest des Programmes nicht.
      Besser die Abfrage in der laufenden Hauptschleife und bei Ereignis eine Variable hochgezählt.
      Wenn die Variable > X Then...

      Eleganter ist, das mit dem Timer zu koppeln, der eh die Zeit mitzählt.
      Wenn der Taster gedrückt ist, wird ein Variable mit einem Wert von z.B. 100 befüllt.
      Im Timer, der alle 100ms kommt, wird die Variable dekrementiert.
      Ist sie null, dann ...

      Gruß, Michael