class Timer -- timer virtual periodik / satu kali

Kelas Timer mengimplementasikan timer virtual yang dikelola perangkat lunak yang menjadwalkan callback Python sekali (satu kali) atau berulang (periodik) pada periode yang diberikan. Gunakan ketika Anda ingin cara lintas-port yang ringan untuk menjalankan callback sesuai jadwal -- untuk fitur tingkat perangkat keras (saluran PWM, input capture, mode encoder, dead-time, break input, dll.) gunakan pyb.Timer.

Tersedia pada setiap port OpenMV.

Contoh -- callback periodik 10 Hz:

from machine import Timer

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

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

Contoh -- menjalankan callback sekali setelah 2 detik:

from machine import Timer

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

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

Konstruktor

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

Membuat Timer virtual. id harus berupa -1 (satu-satunya nilai yang didukung). Argumen kata kunci apa pun diteruskan ke init() sehingga timer dapat dikonfigurasi dalam satu panggilan.

Metode

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

Menginisialisasi / menginisialisasi ulang timer.

  • mode memilih ONE_SHOT (menembak sekali lalu berhenti) atau PERIODIC (menembak berulang kali).

  • period adalah periode dalam milidetik.

  • callback dipanggil ketika timer aktif. Ia menerima instance Timer sebagai satu-satunya argumennya.

deinit() None

Menghentikan timer dan membatalkan callback yang tertunda.

Konstanta

ONE_SHOT: int

Diteruskan ke mode agar timer aktif sekali lalu berhenti.

PERIODIC: int

Diteruskan ke mode agar timer aktif berulang kali pada interval period.