Count the time a toggle button is pressed down

3 visualizaciones (últimos 30 días)
Matt
Matt el 2 de Dic. de 2014
Comentada: Andrew Reibold el 2 de Dic. de 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!

Respuestas (1)

Andrew Reibold
Andrew Reibold el 2 de Dic. de 2014
Editada: Andrew Reibold el 2 de Dic. de 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 comentarios
Guillaume
Guillaume el 2 de Dic. de 2014
Editada: Guillaume el 2 de Dic. de 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 el 2 de Dic. de 2014
Nice Guillaume.
Any updates Matt..?

Iniciar sesión para comentar.

Categorías

Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by