class Timer – virtualni periodički / jednokratni mjerač vremena

Klasa Timer implementira softverski upravljan virtualni mjerač vremena koji raspoređuje Python povratni poziv ili jednom (jednokratno) ili opetovano (periodički) u zadanom periodu. Koristite ju kada želite jednostavan, između portova prenosiv način za pokretanje povratnog poziva prema rasporedu – za značajke na razini hardvera (PWM kanali, ulazno hvatanje, način rada enkodera, mrtvo vrijeme, prekidni ulaz itd.) umjesto toga koristite pyb.Timer.

Dostupno na svakom OpenMV portu.

Primjer – periodički povratni poziv pri 10 Hz:

from machine import Timer

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

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

Primjer – pokretanje povratnog poziva jednom nakon 2 sekunde:

from machine import Timer

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

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

Konstruktori

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

Konstruira virtualni Timer. id mora biti -1 (jedina podržana vrijednost). Svi ključni argumenti prosljeđuju se metodi init() pa se mjerač vremena može konfigurirati u jednom pozivu.

Metode

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

Inicijalizira / ponovno inicijalizira mjerač vremena.

  • mode odabire ONE_SHOT (okida jednom i staje) ili PERIODIC (okida opetovano).

  • period je period u milisekundama.

  • callback se poziva kada se mjerač vremena okine. Prima instancu Timer kao svoj jedini argument.

deinit() None

Zaustavlja mjerač vremena i otkazuje svaki povratni poziv na čekanju.

Konstante

ONE_SHOT: int

Proslijedite parametru mode kako bi se mjerač vremena okinuo jednom i zatim stao.

PERIODIC: int

Proslijedite parametru mode kako bi se mjerač vremena opetovano okidao u intervalima period.