Count the time a toggle button is pressed down

3 Ansichten (letzte 30 Tage)
Matt
Matt am 2 Dez. 2014
Kommentiert: Andrew Reibold am 2 Dez. 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!

Antworten (1)

Andrew Reibold
Andrew Reibold am 2 Dez. 2014
Bearbeitet: Andrew Reibold am 2 Dez. 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 Kommentare
Guillaume
Guillaume am 2 Dez. 2014
Bearbeitet: Guillaume am 2 Dez. 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 am 2 Dez. 2014
Nice Guillaume.
Any updates Matt..?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by