desarrollo:edu-ciaa:edu-ciaa-nxp:python:bibliotecas:modulo-pyb-timer
Tabla de Contenidos
Soporte Timers: Clase Timer
La clase Timer permitirá crear objetos que representan los módulos Timers del microcontrolador.
No se implementó la clase TimerChannel, por lo que las funcionalidades de Output Compare e Input Capture no son accesibles.
Constructor
La clase posee un constructor que recibe un solo argumento, este argumento es el número de timer que controlará.
Timers disponibles: 0,1,2 y 3
Métodos
- interval(t,fn) : Ejecuta la función pasada como argumento fn periódicamente cada el tiempo t expresado en ms
- timeout(t,fn) : Ejecuta la función pasada como argumento fn luego del tiempo t expresado en ms
- init(prescaler,period): Configura el timer con un prescaler dado y un periodo dado (números de 32bit)
- init(freq) : Configura el timer para la frecuencia dada (de 1 a 1000000 Hz)
- callback(fn) : Configura una función que se ejecutará al vencerse el timer.La función recibirá como argumento el objeto Timer.
- counter([value]): Devuelve o setea el valor del contador del Timer (número de 32bit)
- freq([value]): Devuelve o setea el valor de la frecuencia del Timer (de 1 a 1000000 Hz)
- period([value]): Devuelve o setea el valor del periodo (valor de comparación de la cuenta) número de 32 bit)
- prescaler([value]): Devuelve o setea el valor del prescaler (número de 32bit)
- source_freq(): Devuelve la frecuencia de operación del microcontrolador en Hz
Ejemplo 1: Uso de timeout e interval
import pyb def callb(timer): print("Interval interrupt") print(timer) def callbTimeout (timer): print("Timeout interrupt") print(timer) print("Test Timers") t1 = pyb.Timer(1) t2 = pyb.Timer(2) t1.interval(2000,callb) t2.timeout(5000,callbTimeout) while True: pyb.delay(1000)
Ejemplo 2: Ejecución cada 100Hz
import pyb counter=0 def callb(timer): global counter counter+=1 t1 = pyb.Timer(1) t1.init(freq=100) #100Hz t1.callback(callb) while True: pyb.delay(1000) print("counter:"+str(counter))
desarrollo/edu-ciaa/edu-ciaa-nxp/python/bibliotecas/modulo-pyb-timer.txt · Última modificación: 2016/10/08 19:05 por egigliotti