GTimer - 使用一次性的GTimer

材料准备

范例说明

在这个例子中,我们将使用 4 个 One-Time GTimer,并将用户数据传递给每个计时器。

打开范例, “File” -> “Examples” -> “AmebaGTimer” -> “TimerOneshot”. 编译上传到Ameba,按reset。然后您可以看到打印到串行视窗的4个计时器日志。

程式码说明

begin() 的第一个参数是定时器 ID (0~3)。第二个参数是计时器的值(以微秒为单位)。
在范例中,我们填写 1000000us = 1s。第三个参数指定时间到时要调用的函数。
第四个参数是设置这个定时器是否是一个周期定时器,我们这里使用“false”来开始一个一次性定时器。
第五个参数是用户数据,我们这里给0表示这是定时器0。

GTimer.begin(0, 1 * 1000 * 1000, myhandler, false, 0);

接下来我们设置第二个定时器,定时器值为2秒,用户数据为1,其他定时器的设置类似。

GTimer.begin(1, 2 * 1000 * 1000, myhandler, false, 1);

在 myhandler 函数中,我们将用户数据打印到串行视窗。由于4个定时器分别设置为1、2、3、4秒计时,从1秒到4秒,每个定时器的用户数据按顺序打印在串行视窗上。 4 秒后,不会打印任何日志。

请先确认已安装QQ通讯软体