定时器的执行模式
定时器的执行模式决定它执行的TimerFcn的方案,由定时器ExecutionMode属性指定。
singleShot: 只执行一次TimerFcn,执行完自动停止定时器。
fixedDelay:第一次TimerFcn开始执行到第2次TimerFcn开始排队之间的时间为定时周期
fixedRate:第一次TimerFcn开始排队到第二次TimerFcn开始排队之间的时间为定时周期
fixedSpacing:第一次TimerFcn执行完成到第二次TimerFcn开始排队之间的时间为定时周期
最精确的定时模式是fixedRate模式
定时器的回调函数
定时器对象可产生启动,停止,定时和发生错误4种事件
要执行的回调函数或命令:StartFcn,StopFcn,TimerFcn, ErrorFcn
当定时器执行出错时,先执行ErrorFcn,再执行StopFcn
GUI设计中的定时器,可能会访问一些GUI对象或用户数据,所以通常将handles作为参数传递进定时器的回调函数中
函数func声明:function func(obj, event, handles),其中obj为定时器对象的句柄;event为保留的输入参数;handles为GUI数据
定时器的操作步骤:
-
创建定时器对象
4个属性通常需要设置
period:定时器周期
TimerFcn:定时器的回调函数
BusyMode:忙闲模式
ExecutionMode:执行模式,用于精确定时
延迟用StartDelay,查找定时器可以设置Tag,Name属性,检查执行还是停止看Running属性
-
编写回调函数
-
启动定时器对象
start或startat
-
停止定时器对象
调用stop函数;定时器执行完TimerFcn;错误产生时,先调用ErrorFcn,再调用StopFcn
-
删除定时器对象
delete