Stop the function pause(n)
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Tonghui Zhang
le 24 Mai 2019
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
Réponses (1)
Geoff Hayes
le 27 Mai 2019
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 commentaires
Voir également
Catégories
En savoir plus sur MATLAB Compiler 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!