定时器类——控制硬件定时器¶
硬件计时器处理周期和事件的计时。定时器可能是 MCU 和 SoC 中最灵活和异构的硬件,从模型到模型差异很大。MicroPython 的 Timer 类定义了在给定时间段内(或在一些延迟后一次)执行回调的基线操作,并允许特定板定义更多非标准行为(因此不能移植到其他板)。
请参阅有关 Timer 回调的重要约束的讨论。
笔记
无法在 irq 处理程序(中断)内分配内存,因此在处理程序中引发的异常不会提供太多信息。有关
micropython.alloc_emergency_exception_buf()
如何解决此限制的信息,请参阅 。
如果您使用的是 WiPy 板,请参考 machine.TimerWiPy 而不是此类。
方法¶
-
Timer.
init
(*, mode=Timer.PERIODIC, period=- 1, callback=None)¶ 初始化定时器。例子:
tim.init(period=100) # periodic with 100ms period tim.init(mode=Timer.ONE_SHOT, period=1000) # one shot firing after 1000ms
关键字参数:
mode
可以是以下之一:Timer.ONE_SHOT
- 定时器运行一次,直到通道的配置周期到期。Timer.PERIODIC
- 定时器以通道的配置频率定期运行。
-
Timer.
deinit
()¶ 取消初始化定时器。停止定时器,并禁用定时器外设。