Count the time a toggle button is pressed down

3 visualizzazioni (ultimi 30 giorni)
Matt
Matt il 2 Dic 2014
Commentato: Andrew Reibold il 2 Dic 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!

Risposte (1)

Andrew Reibold
Andrew Reibold il 2 Dic 2014
Modificato: Andrew Reibold il 2 Dic 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 Commenti
Guillaume
Guillaume il 2 Dic 2014
Modificato: Guillaume il 2 Dic 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 il 2 Dic 2014
Nice Guillaume.
Any updates Matt..?

Accedi per commentare.

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by