如果计时器对象从当前工作区中清除,它的回调函数还会触发吗



如果使用clear从当前工作区清除计时器对象,其TimerFcn是否仍会在计划时间触发?

  • clear没有删除对象,只有引用它的变量。因此它没有效果

    close all
    t = timer('TimerFcn', 'figure', 'StartDelay', 3); % create figure after 3 seconds
    start(t)
    pause(2)
    clear t
    

    您将在3秒钟后看到该图形。

  • 移除对象,请使用delete。这导致Matlab停止计时器,结果计时器功能将不会执行

    close all
    t = timer('TimerFcn', 'figure', 'StartDelay', 3); % create figure after 3 seconds
    start(t)
    pause(2)
    delete(t)
    

    没有显示任何数字。事实上,你得到了非常明确的

    Warning: You are deleting one or more running timer objects.  MATLAB has
    automatically stopped them before deletion. 
    

相关内容

  • 没有找到相关文章

最新更新