使用esp32的板载led和板载按钮演示。
1、创建定时器
2、定义回调函数
3、响应按键,停止定时器
import machine
from machine import Timer
tim1=Timer(1)
pin2=machine.Pin(2,machine.Pin.OUT)
pin0=machine.Pin(0,machine.Pin.IN)
def blink(t):
pin2.value(not pin2.value())
tim1.init(period=2000, mode=Timer.PERIODIC, callback=blink)
while 1:
if pin0.value()==0:
print("key0 is pressed")
tim1.deinit()
类
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 — 循环定时