class Timer – 가상 주기/일회성 타이머

Timer 클래스는 주어진 주기로 Python 콜백을 한 번(일회성) 또는 반복적으로(주기적) 스케줄링하는 소프트웨어 관리 가상 타이머를 구현합니다. 일정에 따라 콜백을 실행하는 가벼운 포트 간 방법이 필요할 때 사용하십시오 – 하드웨어 수준 기능(PWM 채널, 입력 캡처, 인코더 모드, 데드타임, 브레이크 입력 등)에는 대신 pyb.Timer를 사용하십시오.

모든 OpenMV 포트에서 사용할 수 있습니다.

예시 – 주기적 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()으로 전달되므로 타이머를 단일 호출로 구성할 수 있습니다.

메서드

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

타이머를 초기화 / 재초기화합니다.

  • modeONE_SHOT (한 번 실행하고 중지) 또는 PERIODIC (반복적으로 실행)을 선택합니다.

  • period는 밀리초 단위의 주기입니다.

  • callback은 타이머가 실행될 때 호출됩니다. 유일한 인수로 Timer 인스턴스를 받습니다.

deinit() None

타이머를 정지하고 보류 중인 콜백을 취소합니다.

상수

ONE_SHOT: int

타이머가 한 번 실행된 후 정지하도록 mode에 전달합니다.

PERIODIC: int

타이머가 period 간격으로 반복 실행되도록 mode에 전달합니다.