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

5 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Geoff Hayes
Geoff Hayes il 4 Dic 2018
Modificato: Geoff Hayes il 4 Dic 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).

Più risposte (0)

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by