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.