class Timer – timer virtuale periodico / one-shot¶
La classe Timer implementa un timer virtuale gestito via software che pianifica una callback Python una sola volta (one-shot) oppure ripetutamente (periodica) con un determinato periodo. Usala quando vuoi un modo leggero e multipiattaforma per eseguire una callback secondo una pianificazione – per le funzionalità a livello hardware (canali PWM, input capture, modalità encoder, dead-time, break input, ecc.) usa invece pyb.Timer.
Disponibile su ogni porta OpenMV.
Esempio – callback periodica a 10 Hz:
from machine import Timer
def tick(t):
print("tick")
tim = Timer(-1)
tim.init(period=100, callback=tick) # 100 ms = 10 Hz
Esempio – esegui una callback una sola volta dopo 2 secondi:
from machine import Timer
def fire(t):
print("once")
Timer(-1).init(mode=Timer.ONE_SHOT, period=2000, callback=fire)
Costruttori¶
- class machine.Timer(id: int = -1, /, *, mode: int = PERIODIC, period: int = -1, callback: Callable[[Timer], None] | None = None)¶
Costruisce un
Timervirtuale.iddeve essere-1(l’unico valore supportato). Eventuali argomenti a parola chiave vengono inoltrati ainit()così da poter configurare il timer in un’unica chiamata.Metodi¶
Costanti¶