class Timer -- ตัวจับเวลาเสมือนแบบ periodic / one-shot¶
คลาส Timer ใช้งานตัวจับเวลาเสมือนที่จัดการด้วยซอฟต์แวร์ ซึ่งกำหนดเวลาคอลแบ็ก Python ครั้งเดียว (one-shot) หรือซ้ำ ๆ (periodic) ตามช่วงเวลาที่กำหนด ใช้เมื่อต้องการวิธีที่เบาและพกพาได้ข้ามพอร์ตในการรันคอลแบ็กตามกำหนดเวลา สำหรับฟีเจอร์ระดับฮาร์ดแวร์ (ช่อง PWM, input capture, encoder mode, dead-time, break input ฯลฯ) ให้ใช้ pyb.Timer แทน
มีบนทุกพอร์ต OpenMV
ตัวอย่าง -- คอลแบ็ก periodic 10 Hz:
from machine import Timer
def tick(t):
print("tick")
tim = Timer(-1)
tim.init(period=100, callback=tick) # 100 ms = 10 Hz
ตัวอย่าง -- รันคอลแบ็กครั้งเดียวหลังจาก 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()เพื่อให้สามารถกำหนดค่าตัวจับเวลาในการเรียกเดียวเมธอด¶
ค่าคงที่¶