Effacer les filtres
Effacer les filtres

How do I jump out of an endless loop in App Designer?

3 vues (au cours des 30 derniers jours)
Hieu Philip Hoang
Hieu Philip Hoang le 4 Déc 2018
Commenté : madhan ravi le 4 Déc 2018
Hi!
I created 3 buttons with App Designer to control a stepper motor, where
Button 1: Moves forward
Button 2: Moves backward
Button 3: Stops everything
Now, I tried to realize it with an endless loop, so that if Button 1 is clicked, it will move forward endlessly. My callback functions for button 1 and 2 then look like this:
app.check = 1;
app.check = 0;
while app.check = 0
%some functions to move the motor
if app.check = 1
break
end
end
Here I set an app property app.check. This should be set to 1 whenever a push button is pressed to then jump out of a previous loop via the if line.
Now, as it is an endless loop, pressing the button won't change the value of app.check, as this task is only queued and won't be set until the endless loop ends.
And exactly this is my problem. Is there any other opportunity, to just let callback 1 run until something else is pressed?
Much regards and thank you for reading!

Réponse acceptée

Geoff Hayes
Geoff Hayes le 4 Déc 2018
Modifié(e) : Geoff Hayes le 4 Déc 2018
Hieu - try putting a drawnow or pause in your while loop so that it can be interruptible (which should allow the push button callback to execute and so change the state of the check variable).
  2 commentaires
Hieu Philip Hoang
Hieu Philip Hoang le 4 Déc 2018
Thank you very much! "drawnow" before the if works
madhan ravi
madhan ravi le 4 Déc 2018
+1

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by