MATLAB Answers

Using a timer to execute a function

30 views (last 30 days)
So, I have a timer and I want to use the time to trigger an event. That is, at a certain time, I want a function (called OnFunc) to be executed.
when time_value == 10
OnFunc();
end
Is there a function analogous to a 'when' statement that can execute a command when the time reaches a certain point?

Accepted Answer

Giorgos Papakonstantinou
Giorgos Papakonstantinou on 19 Feb 2015
Edited: Giorgos Papakonstantinou on 19 Feb 2015
A simple timer:
t = timer('BusyMode', 'Drop', ...
'ExecutionMode', 'fixedDelay', ...
'StartFcn', [], ...
'TimerFcn', @(obj, evd) disp('hallo'), ...
'StopFcn', [], ...
'Period', 2);
Issue start(t) to start the timer and stop(t) to stop it.
This timer executes the timer function @(obj, evd) disp('hallo') every 2 seconds. If the execution of the TimerFcn has not completed before the next execution, then the timer will Drop the next execution.
You can create your own callback for your TimerFcn.
At the end issue
delete(t)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!