Buenas tardes, estoy viendo un proyecto realizado con Arduino IDE para programar el Attiny85, la idea es que al pulsar la primera vez se encienda la salida, y al pulsar la segunda vez la salida se apague y el uC pasa a sleep:
El código es el siguiente:
Este proyecto es interesante pues utiliza el reset y pasa a modo sleep y consume solo 0.5uA.
El funcionamiento es: 1 pulso prende, 1 pulso apaga y sleep, y asi sucesivamente.
Mi pregunta es si se puede convertir este codigo a C para poder utilizarlo desde Atmel Studio, ¿alguna idea?.

El código es el siguiente:
Código:
#include <avr/sleep.h>
int led = 0;
boolean On = 1;
int Power __attribute__ ((section (".noinit")));
void PowerDown () {
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
ADCSRA &= ~(1<<ADEN); // Turn off ADC to save power
sleep_enable();
sleep_cpu();
}
void setup() {
Power = !Power;
if (!Power) PowerDown();
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, On = !On); // Toggle the LED
delay(1000); // Wait for a second
}
Este proyecto es interesante pues utiliza el reset y pasa a modo sleep y consume solo 0.5uA.
El funcionamiento es: 1 pulso prende, 1 pulso apaga y sleep, y asi sucesivamente.
Mi pregunta es si se puede convertir este codigo a C para poder utilizarlo desde Atmel Studio, ¿alguna idea?.