1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-07 11:56:26 +02:00
Files
uni/es/blatt1/uebung1-13/uebung1-13.ino
2015-04-21 23:49:42 +02:00

38 lines
814 B
C++

int ledPin = 7;
int buttonPin = 5;
int buttonState;
bool volatile ledState = true;
bool volatile performDelay = false;
void setup() {
// put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
attachInterrupt(buttonPin, buttonChanged, RISING);
digitalWrite(ledPin, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
buttonState = digitalRead(buttonPin);
if (performDelay) {
detachInterrupt(buttonPin);
delay(20);
performDelay = false;
attachInterrupt(buttonPin, buttonChanged, RISING);
if (buttonState == HIGH) {
if (ledState) {
digitalWrite(ledPin, LOW);
} else {
digitalWrite(ledPin, HIGH);
}
ledState = !ledState;
}
}
}
void buttonChanged() {
performDelay = true;
}