GTimer - 使用一次性的GTimer
材料准备
- AmebaD [ AMB23 / AMB21 / AMB22 / BW16 / AW-CU488 Thing Plus ] x 1
范例说明
在这个例子中,我们将使用 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 秒后,不会打印任何日志。
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款