class Timer – temporizador virtual periódico / de un solo disparo

La clase Timer implementa un temporizador virtual gestionado por software que programa una función de retorno (callback) de Python ya sea una vez (un solo disparo) o repetidamente (periódico) en un periodo dado. Úsela cuando desee una forma ligera y portable entre puertos de ejecutar una función de retorno (callback) según una programación; para funciones de nivel hardware (canales PWM, captura de entrada, modo encoder, tiempo muerto, entrada de freno, etc.) use pyb.Timer en su lugar.

Disponible en todos los puertos de OpenMV.

Ejemplo – función de retorno (callback) periódica a 10 Hz:

from machine import Timer

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

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

Ejemplo – ejecutar una función de retorno (callback) una vez después de 2 segundos:

from machine import Timer

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

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

Constructores

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

Construye un Timer virtual. id debe ser -1 (el único valor admitido). Cualquier argumento de palabra clave se reenvía a init() para que el temporizador pueda configurarse en una sola llamada.

Métodos

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

Inicializa / reinicializa el temporizador.

  • mode selecciona ONE_SHOT (dispara una vez y se detiene) o PERIODIC (dispara repetidamente).

  • period es el periodo en milisegundos.

  • callback se invoca cuando el temporizador se dispara. Recibe la instancia Timer como su único argumento.

deinit() None

Detiene el temporizador y cancela cualquier función de retorno (callback) pendiente.

Constantes

ONE_SHOT: int

Pase a mode para que el temporizador se dispare una vez y luego se detenga.

PERIODIC: int

Pase a mode para que el temporizador se dispare repetidamente a intervalos de period.