micropython WDT看门狗Timer 时间中断喂狗;回调函数lambda传参数



from machine import WDT
wdt=WDT(timeout=10000)

#设置10秒
wdt.feed()

#喂狗 10秒不喂狗 自动重启

自动化喂狗

from machine import WDT,Timer
wdt=WDT(timeout=10000)
tdog=Timer(1)
tdog.init(mode=Timer.PERIODIC, period=5000, callback=lambda x:wdt.feed())

自动喂狗 ,开启一个Timer 1 每5000ms,5秒 喂一次狗·,如果Timer 1 不能运行,就重启

ESP32拥有4个定时器 0 1 2 3

  • Timer.ONE_SHOT:只执行一次定时任务。
  • Timer.PERIODIC:循环执行定时任务。

tdog.init(mode=Timer.PERIODIC, period=5000, callback=lambda x:wdt.feed())

callback=lambda x:mkmk(1)
回调函数 默认传参数是timer对象本身
,所以其他参数必须使用lambda匿名函数传参数

发表回复