/*
   Pisca LED no Franzininho usando rotinas de assembly e AVR libc.
   Para mais detalhes veja em:
   http://forum.arduino.cc/index.php?topic=159572#msg1194604

                        ATtiny85 16MHz
                          ╔═══╦═══╗
      (RESET)(ADC0)(PB5) -║1     8║- (VCC)(+)
      (XTAL1)(ADC3)(PB3) -║2     7║- (PB2)(A1)(SCK)(SCL)(ADC1)
      (XTAL2)(ADC2)(PB4) -║3     6║- (PB1)(MISO)(OC0B)(OC1A)
                (GND)(-) -║4     5║- (PB0)(MOSI)(SDA)(OC0A)
                          ╚═══════╝

                ┍━━━━━━━━━━━━━━━━━━━━━━━━━━┑
                │ Dê uma olhada no blink.S │
                ┕━━━━━━━━━━━━━━━━━━━━━━━━━━┙
*/

#include <util/delay.h>

#define F_CPU 16500000L        // Frequencia de clock que o mcu está trabalhando

/**
  Essa é a função principal onde é iniciada aplicação
*/
int main(void)
{
    start();                   // Rotina do arquivo assembly blink.S

    // O programa ficará nesse loop enquanto a placa estiver ligada
    while (1)
    {
        led_high();            // Rotina do arquivo assembly blink.S
        _delay_ms(1000);       // Aguarda por 1 segundo
        led_low();             // Rotina do arquivo assembly blink.S
        _delay_ms(1000);       // Aguarda por 1 segundo
    }

    return (0);                // Necessário um retorno (pois a função retorna int) mesmo que a função nunca retornará
}