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

조회 수: 2 (최근 30일)
Hieu Philip Hoang
Hieu Philip Hoang 2018년 12월 4일
댓글: madhan ravi 2018년 12월 4일
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!

채택된 답변

Geoff Hayes
Geoff Hayes 2018년 12월 4일
편집: Geoff Hayes 2018년 12월 4일
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
Hieu Philip Hoang
Hieu Philip Hoang 2018년 12월 4일
Thank you very much! "drawnow" before the if works

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by