有关定时器的特点
系统提供的定时器并非单片机概念的硬件定时器,而是基于控件的定时器,也就是说定时器到时间后会调用控件的ontimer事件。
系统整体最多可以提供32个定时器,且每一个控件只允许使用一个定时器。
正常情况下,定时器有以下用法:
1、控件动态效果
比如xk_button控件,通过定时器改变边框颜色达到动态效果;比如温度计,通过定时器动态修改水银柱的高低完成动态效果; apic控件通过定时器完成图片的动态播放;
实现方法:
- 1、status参数中设置定时参数或者在create方法中使用settimer函数启用定时器
- 2、在ontimer事件中书写处理代码
2、全局定时器
由于appbase是全局控件,每个页面都有这个控件,因此在appbase中使用定时器,可以达成每个页面都存在的定时器;
对于全局定时器从功能的角度来说,一般分为两种情况,
- 一种情况是几十毫秒的短时定时,比如T12白光烙铁的PWM控制,此种应用可能在切换页面的时候有些中断,但不影响大局
-
另一种情况,就是长定时,比如设置的小时级定时器,此时可以使用appbase建立秒级定时器,然后使用RTC语句记录起始和结束时间,每秒判断一次是否到达时间,来产生事件。
【注:】appbase控件在每个页面都可以单独设置属性,建议直接在appbase控件代码内给属性赋值,这样不管在哪个页面都能有统一的参数。
其他可以参见:settimer