MATLAB中定时器(timer)的使用总结

  • Post author:
  • Post category:其他




定时器的属性和回调

t = timer(‘PropertyName1’, PropertyValue1, ‘PropertyName2’, PropertyValue2,…);

示例 t = timer(‘StartDelay’,1,‘TimerFcn’,@t_TimerFcn,‘Period’,2,‘ExecutionMode’,‘fixedRate’);

在这里插入图片描述

BusyMode:当定时器需要执行TimerFcn,但前一次的TimerFcn仍然在执行的时候,此属性生效。

属性值:

    'drop' — Do not execute the function.(默认)

    'error' — Generate an error. RequiresErrorFcn to be set.

    'queue' — Execute function at next opportunity.

ExecutionMode 指定定时器的触发方式(触发一次,还是循环触发……)总共有四种方式

sigleShot;只执行一次,故Period属性不起作用,其他模式都可以执行多次

fixedDelay;上一次TimerFcn执行完毕时刻到下一次TimerFcn被加入队列时刻之间的间隔

fixedRate;上一次开始执行到下一次被加入队列之间的间隔

fixedSpacing: 前后两次被加入到执行语句队列时刻之间的间隔

TasksToExecute:

指定定时器最多被触发的次数,该属性默认为inf,如果希望不停的循环执行,可以不指定该属性

Period时间间隔(执行周期):即每个Period执行一次TimerFcn

StartDelay启动时延时

从启动Timer开始到第一次把TimerFcn的加入到Matlab的执行语句队列中去的时延,默认值为0s

Name 为定时器命名

Running 指示定时器当前是否在执行off,on

tag : 一个字符串,可以任意指定,一般用于标志某个特定的定时器,以方便在程序中别的地方查找该定时器

TimerFcn : 定时器被触发时要执行的函数或语句

StartFcn: 定时器开启时的回调函数

StopFcn: 定时器停止时的回调函数

定时器停止条件:

           1、运行stop(timer)函数

           2、定时器执行TimerFcn并完成函数内容(i.e., the value ofTasksExecutedreaches the limit set       byTasksToExecute.[即定时器执行次数到达设定值])

           3、发生错误

与定时器相关的其他操作

	delete(timer)    %删除
	disp(timer)      %显示
	get(timer)       %获取属性
	isvalid(timer)   %检查有效性
	set(timer)       %设置属性
	start            %开始
	startat          %开始(可以指定开始时的某些参数)
	stop             %停止
	timerfind        %查找某个定时器
	timerfindall     %也是查找
	wait             %等待直到定时器被停止