Count the time a toggle button is pressed down

3 vues (au cours des 30 derniers jours)
Matt
Matt le 2 Déc 2014
Commenté : Andrew Reibold le 2 Déc 2014
Hello,
I would like to know how can I create a timer that will only be activated when a toggle button is pressed down. It will of course start from 0 as the button is up when I launch the GUI, but when I press the button, I would like the timer to start, and then stop when I press it again. Then, I would like the timer to resume when I press the toggle button down again, and so on.
How can I do that?
Thanks!

Réponses (1)

Andrew Reibold
Andrew Reibold le 2 Déc 2014
Modifié(e) : Andrew Reibold le 2 Déc 2014
I use tic and toc to start and stop timers
>> help tic
tic Start a stopwatch timer.
tic and TOC functions work together to measure elapsed time.
Run tic and a timer starts. Then everytime you run toc , it tells you how much time since the last tic.
What I would do is run tic and toc to measure how long the toggle was down. Save that value to a variable. Then each time you do that another time, add the new tic/toc difference to your running variable of total time.
  3 commentaires
Guillaume
Guillaume le 2 Déc 2014
Modifié(e) : Guillaume le 2 Déc 2014
To make sure that you don't 'lose your workspace tic/toc values or something' and to make sure that a tic/toc from another piece of code does not interfere, explicitly use the return value of tic:
function togglebutton1_Callback(hObject, eventdata, handles)
persistent t;
if get(hObject, 'Value')
t = tic
disp('timer started')
else
elapsedtime = toc(t);
fprintf('time elapsed = %f', elapsedtime);
end
end
Andrew Reibold
Andrew Reibold le 2 Déc 2014
Nice Guillaume.
Any updates Matt..?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interactive Control and Callbacks 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!

Translated by