定时器类 – 控制硬件定时器

硬件定时器处理周期和事件的时间。在MCUs和SoCs中,定时器可能是最为灵活和异构的硬件,其根据模型不同而大有不同。MicroPython的定时器类使用一个给定周期(或经过某些延迟后)定义执行回调的基线操作,并允许特定板来定义更多非标准行为(因此无法移植到其他板上)。

请参阅关于计时器回调的 important constraints 的讨论。

注解

内存不能在IRQ处理器(一个中断)内部分配,所以处理器内部引发的异常无法提供更多信息。如何克服这一限制,请参见 micropython.alloc_emergency_exception_buf()

构造函数

class machine.Timer(id, ...)

创建一个具有给定id的新定时器对象。-1id构造一个虚拟定时器(若由一个板支持)。

方法

..方法:: Timer.deinit()
反初始化定时器。停止定时器,并禁用定时器外设。

only :: port_wipy

Timer.channel(channel, **,freq,period,polarity = Timer.POSITIVE,duty_cycle = 0)

如果只传递了一个通道标识符,那么就是先前初始化的通道 返回对象(如果没有先前的通道,则返回“无”)。

否则,初始化并返回TimerChannel对象。

操作模式是配置为用于的Timer对象的操作模式 创建频道。

  • 如果定时器的宽度是16位,则```channel``,那么必须是``TIMER.A``,TIMER.B
如果宽度是32位,那么**必须是**``TIMER.A | TIMER.B``。

仅关键字参数:

  • ``freq``以Hz为单位设置频率。
  • ``period``设置以微秒为单位的周期。

常量

Timer.ONE_SHOT
Timer.PERIODIC

定时器运行模式。