定时器类 – 控制硬件定时器¶
硬件定时器处理周期和事件的时间。在MCUs和SoCs中,定时器可能是最为灵活和异构的硬件,其根据模型不同而大有不同。MicroPython的定时器类使用一个给定周期(或经过某些延迟后)定义执行回调的基线操作,并允许特定板来定义更多非标准行为(因此无法移植到其他板上)。
请参阅关于计时器回调的 important constraints 的讨论。
备注
内存不能在IRQ处理器(一个中断)内部分配,所以处理器内部引发的异常无法提供更多信息。如何克服这一限制,请参见
micropython.alloc_emergency_exception_buf()
构造函数¶
- class machine.Timer(id, ...)¶
创建一个具有给定id的新定时器对象。Id为-1则构造一个虚拟定时器(如果支持的话)。
方法¶
- Timer.init(\*, mode=Timer.PERIODIC, period=-1, callback=None)¶
初始化定时器。示例:
tim.init(period=100) # 周期为100ms tim.init(mode=Timer.ONE_SHOT, period=1000) # one shot firing after 1000ms tim.init(mode=Timer.ONE_SHOT, period=1000) # 1000毫秒后触发
关键字参数:
mode
可以是其中之一:Timer.ONE_SHOT
- 定时器运行一次,直到通道的配置时间到期为止。Timer.PERIODIC
- 定时器按通道的配置频率周期性地运行。
- Timer.deinit()¶
反初始化定时器。停止定时器,并禁用定时器外设。