Stop the function pause(n)
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi everybody,
i've a question about pause(n) where n is the time in seconds.
The fragment code where i've the problem is this:
tic
while (~get(handles.pause,'Value')) %toc<=60 &&
writePosition(s,maxTravel);
pause(ts);
writePosition(s,INITPOS);
pause(ts);
cycle = cycle+1;
cycleTotal(day+1) = cycle+1;
[time,minutes,hours,day] = timerFun(minutes,hours,day,toc);
set(handles.status,'String',time);
pause(ttot);
end
in fact i use the 'Value' of ToggleButton, named pause, to stop the while cycle, but the pause(ttot) varies (i.e. 1 second or 20 seconds), obviously if the waiting time is short the ToggleButton 'Value' is checked frequently, otherwise if the waiting time is long when i push the ToggleButton on the GUI i must wait the end of pause before the while-cycle 'Value' is invoked.
Is there a trick to stop pause() function or other method to check the ToggleButton 'Value' independently from pause function?
댓글 수: 3
Tonghui Zhang
2019년 5월 24일
Hi,
I am confronted with this problem now. When I quit GUI, the pause function is still working. I am wondering if there is any method to terminate it when the GUI is close(except ctrl+c)?
Thanks in advance
답변 (1개)
Geoff Hayes
2019년 5월 27일
Rather than using a while loop in your GUI code, use a timer which you can then programmatically start and stop. See https://www.mathworks.com/matlabcentral/answers/284202-how-to-plot-a-real-time-signal-with-axes-automatically-updating for one such example.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 MATLAB Compiler에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!