class Timer – temporizator virtual periodic / cu o singură declanșare

Clasa Timer implementează un temporizator virtual gestionat software, care programează o funcție de retroapelare (callback) Python fie o singură dată (cu o singură declanșare), fie în mod repetat (periodic) la o perioadă dată. Folosiți-o atunci când doriți o modalitate ușoară, portabilă între porturi, de a rula o funcție de retroapelare (callback) după un program – pentru funcții la nivel hardware (canale PWM, captură de intrare, mod de codare, timp mort, intrare de întrerupere etc.) folosiți în schimb pyb.Timer.

Disponibilă pe fiecare port OpenMV.

Exemplu – funcție de retroapelare (callback) periodică la 10 Hz:

from machine import Timer

def tick(t):
    print("tick")

tim = Timer(-1)
tim.init(period=100, callback=tick)   # 100 ms = 10 Hz

Exemplu – rularea unei funcții de retroapelare (callback) o singură dată după 2 secunde:

from machine import Timer

def fire(t):
    print("once")

Timer(-1).init(mode=Timer.ONE_SHOT, period=2000, callback=fire)

Constructori

class machine.Timer(id: int = -1, /, *, mode: int = PERIODIC, period: int = -1, callback: Callable[[Timer], None] | None = None)

Construiește un Timer virtual. id trebuie să fie -1 (singura valoare suportată). Orice argumente de tip cuvânt-cheie sunt transmise către init(), astfel încât temporizatorul să poată fi configurat într-un singur apel.

Metode

init(*, mode: int = PERIODIC, period: int = -1, callback: Callable[[Timer], None] | None = None) None

Inițializează / reinițializează temporizatorul.

  • mode selectează ONE_SHOT (declanșează o dată și se oprește) sau PERIODIC (declanșează în mod repetat).

  • period este perioada în milisecunde.

  • callback este invocată atunci când temporizatorul se declanșează. Primește instanța Timer ca unic argument.

deinit() None

Oprește temporizatorul și anulează orice funcție de retroapelare (callback) în așteptare.

Constante

ONE_SHOT: int

Se transmite la mode astfel încât temporizatorul să se declanșeze o dată și apoi să se oprească.

PERIODIC: int

Se transmite la mode astfel încât temporizatorul să se declanșeze în mod repetat la intervale period.