class Timer -- 虛擬週期性 / 單次計時器¶
Timer 類別實作了一個由軟體管理的虛擬計時器,可在給定的週期下排程一個 Python 回呼函式執行一次(單次,one-shot)或重複執行(週期性,periodic)。當你想要一個輕量、可跨移植版的方式來依排程執行回呼函式時,可使用它——對於硬體層級的功能(PWM 通道、輸入捕捉、編碼器模式、死區時間、中斷輸入等),請改用 pyb.Timer。
在每個 OpenMV 移植版上皆可用。
範例 —— 週期性的 10 Hz 回呼函式:
from machine import Timer
def tick(t):
print("tick")
tim = Timer(-1)
tim.init(period=100, callback=tick) # 100 ms = 10 Hz
範例 —— 在 2 秒後執行一次回呼函式:
from machine import Timer
def fire(t):
print("once")
Timer(-1).init(mode=Timer.ONE_SHOT, period=2000, callback=fire)
建構子¶
- class machine.Timer(id: int = -1, /, *, mode: int = PERIODIC, period: int = -1, callback: Callable[[Timer], None] | None = None)¶
建構一個虛擬的
Timer。id必須為-1(唯一支援的值)。任何關鍵字引數都會被轉送至init(),使計時器能在單次呼叫中完成設定。方法¶
常數¶