ESP32 3.2.7 Timer

2020-07-088122
AI 快速预览详细 收起
本文介绍了ESP32中Timer类的使用方法。首先定义Timer对象,然后通过`init`函数初始化定时器,设置定时时长、模式和回调函数。示例代码展示了如何创建一个周期为1秒的定时器,并在每次触发时打印'ok'。此外,还介绍了如何获取当前计数值以及关闭定时器的方法。

class machine.Timer(id)

id:可以是任意整数,它是定时器的唯一身份认证

定义Timer(定时器)对象

示例:

from machine import Timer

tim1 = Timer(1)
tim2 = Timer(2)

类函数

Timer.deinit()

函数说明:关闭定时器。
示例:

tim1.deinit()

Timer.init(period, mode, callback)

函数说明:初始化定时器。

period:定时时长,单位:毫秒。
    0 < period ≤ 0xCCCC CCCC
mode:定时模式
    Timer.ONE_SHOT — 只执行一次
    Timer.PERIODIC — 循环执行
callback:回调函数

示例:

tim1.init(period=1000, mode=Timer.PERIODIC, callback=lambda t:print("ok"))

Timer.value()

函数说明:获取并返回计时器当前计数值。
示例:

value = tim1.value()
print(value)

  • Timer.ONE_SHOT   =0    — 单次定时
  • Timer.PERIODIC   =1    — 循环定时

综合示例

from machine import Timer
import time

tim1 = Timer(1)
tim1.init(period=1000, mode=Timer.PERIODIC, callback=lambda t:print("ok"))
try:
  while True:
    print(tim1.value())
    time.sleep(1)
except:
  tim1.deinit()



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -