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.

Clase

Timer2

Nombre

set()

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 están definidos, pero están 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. En el método set(), una manera asigna el tiempo (en milisegundos) y el nombre de la función que será ejecutada (el mejor preescalador es seleccionado automáticamente), la segunda manera asigna la función que será ejecutada y el preescalador a usar, el tiempo entre las llamadas de la función varia con relación al preescalador especificado.
Sintaxis
Timer2.set(tiempo, función)
Parámetros
tiempo int: especifica las función definida por el usuario que será ejecutada cada ciertos milisegundos
función El nombre de la función definida por el usuario que será ejecutada con el Timer2
preescalador La constante del preescalador para ajustar la frecuencia a la cual la función definida por el usuario se ejecutará: CLOCK_DIV1, CLOCK_DIV8, CLOCK_DIV32, CLOCK_DIV64, CLOCK_DIV128, CLOCK_DIV256 o CLOCK_DIV1024
Retorna Ninguno
Uso Application
Updated on February 22, 2011 06:30:40pm PST

Creative Commons License