Estoy intentando que el LED en el Launchpad de MSP430G2 siga parpadeando / apagando con un botón como el ejemplo de Switch ( enlace ) en Arduino / Energia, pero parece que echo de menos algo estúpido y no sé qué ...
const int buttonPin = PUSH2; // the number of the pushbutton pin
const int ledPin = GREEN_LED; // the number of the LED pin
int state = HIGH; // the current state of the output pin
int reading; // the current reading from the input pin
int previous = LOW; // the previous reading from the input pin
// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0; // the last time the output pin was toggled
long debounce = 200; // the debounce time, increase if the output flickers
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}
void loop()
{
reading = digitalRead(buttonPin);
// if the input just went from LOW and HIGH and we've waited long enough
// to ignore any noise on the circuit, toggle the output pin and remember
// the time
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH){
state = LOW;
}
else {
state = HIGH;
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
}
time = millis();
}
digitalWrite(ledPin, state);
previous = reading;
}
Parpadea una vez cuando presiono el botón. Sé que esto
digitalWrite(ledPin, HIGH);
o parte del estado desordena. ¿Alguna ayuda? Gracias.