class Timer – טיימר וירטואלי מחזורי / חד-פעמי

המחלקה Timer מממשת טיימר וירטואלי המנוהל בתוכנה, שמתזמן פונקציית callback של Python אם פעם אחת (חד-פעמי) או באופן חוזר (מחזורי) בפרק זמן נתון. השתמש בו כאשר אתה רוצה דרך קלת-משקל וחוצת-פורטים להריץ פונקציית callback לפי לוח זמנים – עבור תכונות ברמת החומרה (ערוצי PWM, לכידת קלט, מצב מקודד, זמן-מת, קלט עצירה וכו«) השתמש ב-pyb.Timer במקום.

זמין בכל פורט של OpenMV.

דוגמה – פונקציית callback מחזורית של 10 הרץ:

from machine import Timer

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

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

דוגמה – הרצת פונקציית callback פעם אחת לאחר 2 שניות:

from machine import Timer

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

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

בנאים

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

בונה Timer וירטואלי. id חייב להיות -1 (הערך היחיד הנתמך). כל מילות מפתח מועברות אל init() כך שניתן להגדיר את הטיימר בקריאה אחת.

מתודות

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

מאתחל / מאתחל מחדש את הטיימר.

  • mode בוחר ONE_SHOT (יורה פעם אחת ועוצר) או PERIODIC (יורה באופן חוזר).

  • period הוא פרק הזמן באלפיות השנייה.

  • callback מופעל כאשר הטיימר יורה. הוא מקבל את מופע ה-Timer כארגומנט היחיד שלו.

deinit() None

עוצר את הטיימר ומבטל כל פונקציית callback ממתינה.

קבועים

ONE_SHOT: int

העבר אל mode כך שהטיימר יורה פעם אחת ואז עוצר.

PERIODIC: int

העבר אל mode כך שהטיימר יורה באופן חוזר במרווחי period.