/*
    Una versión mejorada del ejemplo "Direct Blink". 
    
    Utiliza variables predefinidas como PORTB. Estos se pueden definir dentro de un archivo de 
    encabezado (h) y, como tal, se pueden ajustar entre dispositivos. Esto hace que el código 
    sea portable entre una familia de microcontroladores en lugar de estar vinculado a una 
    unidad específica.

*/

// Bit 0 del Port B, salida digital 8 de Arduino
#define LEDMASK 0x01

void setup() {

  // Inicializar el pint digital como salida
  DDRB |= LEDMASK;
}
void loop() {

  // Encender el LED
  PORTB |= LEDMASK;
  delay(2000);

  // Apagar el LED
  PORTB &= (~LEDMASK);
  delay(1000);
}