查看: 838|回复: 1

[教程] 当M5StickC遇上UIFLOW系列教程(三)定时器

[复制链接]
本帖最后由 vany5921 于 2019-8-19 16:28 编辑

       在UIFlow中我们通过定时器模块可以方便的进行定时任务设定,从而实现多任务。为了保证程序正常运行定时器不宜超过四个,当然在调用的过程中由于时间的积累会出现一点点小误差,不影响正常使用。

屏幕快照 2019-08-19 15.55.12.png

       接下来通过一个简单的案例来介绍如何操作定时器(定时器内代码避免过于复杂):
首先在屏幕上绘制Label,为了方便观察定时器的运行效果,我添加了系统运行时间,另外还有两个计数器设定。

屏幕快照 2019-08-19 16.00.41.png

        找到timer callback 起名为定时器1,设定回调函数要执行的内容,这里通过添加变量COUNT来记录执行次数,同时控制LED。
再设定一个定时器2,让两个定时器同时执行。

屏幕快照 2019-08-19 16.02.23.png

        回调函数写好后,我们来进行初始化。
打开计时器,填写执行的时间间隔,比如每隔1秒或每隔3秒,设置运行模式为每次或者只执行一次,这里我们设置为1次。变量初始值为1.
接下来通过标签来显示计数和时间。

屏幕快照 2019-08-19 16.06.08.png

         程序最后我添加了定时器停止的条件,当按下A 键时停止定时器1和2,标签显示Stop。注意,这里并没有停止系统时间的显示,所以我们依然能看到数字在变化。
按下A 键,看看定时器是否已经停止。

屏幕快照 2019-08-19 16.26.07.png


szjuliet  版主

发表于 2020-7-1 09:04:20

好玩儿
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail