Libraries \ Timer2

Referencia para la versión de Wiring 0027+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Nombre

Timer2

Ejemplos
#include "HardwareTimer2.h";

int ledPin = 48;  // LED de la tarjeta I/O Wiring board (pin 48) 
byte value = HIGH; 

void setup()
{
  pinMode(ledPin, OUTPUT);  // asigna el pin digital como salida
  
  // asigna Timer2 para ejecutar la función ledFlash() cada 100ms
  Timer2.set(100, ledFlash);  
  
  // asigna Timer2 para ejecutar la función ledFlash() usando timer pre escalador 1024
  // F_CPU / 1024 en un 16Mhz seá 15625 
  // 15625 / 255 = 61.27 rebosamiento (overflow) (conteo completo a 255)
  // 1000ms / 61.27 = 16.32ms, entonces la función ledFlash() será ejecutada cada 16.32ms
    
  //Timer2.set(ledFlash, CLOCK_DIV1024);
    
  // inicia el temporizador
    Timer2.start();
}

void loop()
{
}

void ledFlash() {
  digitalWrite(ledPin, value);
  if(value == HIGH) 
    value = LOW;
  else
    value = HIGH; 
}
Descripción Timer2 es un temporizador de hardware de 8-bit en muchos microcontroladores Atmel. Un temporizador de hardware puede ser usado además de otras cosas para contar eventos. La librería Timer2 permite manipulaciones flexibles de este temporizador de hardware. El temporizador puede ser asignado para ejecutar una función cada determinados milisegundos, la diferencia con un timer asignado por software es a presición. El reloj fuente de Timer2 es el reloj principal de la CPU el cual corre a 16Mhz F_CPU = 16000000, esta frecuencia puede ser muy rápida para algunos usuarios, (1/16000000) de un segundo, entonces un preescalador (prescaler) es usada para el reloj fuente. Una preescalador (prescaler) es la velocidad de cpu dividida por alguna potencia de 2. Hay algunos preescaladores definidos por Timer2: CLOCK_DIV1, CLOCK_DIV8, CLOCK_DIV32, CLOCK_DIV64, CLOCK_DIV128, CLOCK_DIV256 y CLOCK_DIV1024, los cuales son respectivamente F_CPU/1, F_CPU/8, F_CPU/32, F_CPU/128, F_CPU/256 y F_CPU/1024. Por flexibilidad, Timer2 puede ser asignado de dos maneras, uno ejecuta una función cada ciertos milisegundos y el segundo ejecuta una función a una frecuencia definida por un preescalador. Dependiendo del hardware, alguno preescaladores para Timer2 pueden no estar disponibles, por ejemplo para el microcontrolado atmega128 los preescaladores CLOCK_DIV32 y CLOCK_DIV128 no estan definidos, pero estan definidos para Timer2 el atmega1281 y atmega2561. Desde que Timer2 es un temporizador de 8-bit internamente rebosa cuando el contador TCNT2 alcanza el valor 255. Para usuarios avanzados: Es posible asignar el TCNT2 directamente en las funciones definidas por el usuario para hacer cosas en fracciones de un preescalador determinado. Para más información acerca de esto revise el código fuente de esta librería el cual está incluido con la distribución de Wiring.
Sintaxis
Timer2
Métodos
set() Asigna Timer2
start() Inicializa TImer2
stop() Detiene Timer2
Retorna Ninguno
Uso Application
Updated on February 22, 2011 06:30:39pm PST

Creative Commons License