Break A While loop using a status Button

Hello, I am trying to break the while loop containing that for loop by using the 1 and 0 status of the status button. I am having an issue doing it. That's my code below. Any other ideas to break a while 1 loop would be appreciated. Thank you!
% Value changed function: CANSTARTButton
function CANSTARTButtonValueChanged(app, event)
value = app.CANSTARTButton.Value;
app.CANSTARTButton.Value = 0;
app.CANSTARTButton.Enable = true;
while 1
%add code here
app.CANMSGStatusLamp.Color = 'Blue';
for v = 1.0:-0.2:0.0
disp(v)
end
%%end
if (app.CANSTARTButton.Value == 1)
app.CANMSGStatusLamp.Color = 'red';
break;
end
end
app.CANSTARTButton.Value = 0;
app.CANSTARTButton.Enable = false;
%if (value==1)
% app.CANMSGStatusLamp.Color = 'red';
% while 1
%else
% app.CANMSGStatusLamp.Color = 'Green';
%end
end
end

回答 (1 件)

Jan
Jan 2021 年 7 月 15 日
編集済み: Jan 2021 年 7 月 15 日

1 投票

Insert a drawnow command inside the loop to let Matlab update the GUI.
A small simplification:
app.CANMSGStatusLamp.Color = 'Blue';
while app.CANSTARTButton.Value == 0
%add code here
for v = 1.0:-0.2:0.0
disp(v)
end
drawnow;
end
app.CANMSGStatusLamp.Color = 'red';

1 件のコメント

Mohamed Afify
Mohamed Afify 2021 年 7 月 19 日
Never knew about the drawnow, worked fine thank you so much!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2021 年 7 月 15 日

コメント済み:

2021 年 7 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by