MATLAB: Using a timer to execute a function

functiontime

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?

Best Answer

  • 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)