Autor Tema: Ayuda con el periodo  (Leído 1493 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado RodrigoAndres

  • PIC16
  • ***
  • Mensajes: 171
Ayuda con el periodo
« 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?


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda con el periodo
« Respuesta #1 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.
« Última modificación: 04 de Agosto de 2016, 17:08:00 por KILLERJC »