TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: RodrigoAndres en 04 de Agosto de 2016, 16:50:15

Título: Ayuda con el periodo
Publicado por: RodrigoAndres en 04 de Agosto de 2016, 16:50:15
hola de nuevo estoy programando el timer 1 del pic usando las librerias de microchip Y la funcion dice esto:

void OpenTimer1(unsigned int config, unsigned int period);

lo que no entiendo es que es el periodo? solo dice: [/size]

period:  This argument contains the 16-bit period value for the Timer.
que significa?

Título: Re:Ayuda con el periodo
Publicado por: KILLERJC en 04 de Agosto de 2016, 16:58:47
Que PIC y que compilador?

------

Si es el PIC32 que hablabas antes entonces esto te va a sacar todas las dudas:

PIC32 - Modulo Timer:
http://ww1.microchip.com/downloads/en/DeviceDoc/61105F.pdf

Y sino, te lo resumo, los timers de micros mas complejos posee un auto-zero o auto-reload ya por default, distintos a los PIC (16/18) de gama baja que solo el Timer2 suele tener un registro mas que indica el periodo ( no se los modelos mas nuevos).

Existe 2 formas de generar esto en el timer.

Auto-zero : en el que al alcanzar la equidad entre el valor del timer y del periodo, procede a generarse la señal de interrupcion + ponerse a 0 el timer, el contador es ascendente
Auto-reload (caso raro de ver peeeero): Es el caso en el que el timer produce un underflow, en ese momento toma el valor del periodo y lo pone en el timer para que comienze de nuevo, el contador en este caso es descendente

De esa forma no tenes que estar cargando continuamente el valor del timer, y una ves seteado el periodo normalmente no lo cambiarias a no ser alguna aplicacion especifica.
Por lo cual solo en la interrupcion de un timer cada 10ms por ejemplo, deberias unicamente limpiar el flag y luego hacer lo que desees.