attachInterrupt не хочет звать void Interrupt()
почему так?
int mode = 0;
int pin = 8;
int pinbutt = 2;
void setup() {
pinMode(pin, OUTPUT);
pinMode(pin - 1, OUTPUT);
pinMode(pin - 2, OUTPUT);
pinMode(pin - 3, OUTPUT);
pinMode(pin - 4, OUTPUT);
pinMode(pin - 5, OUTPUT);
pinMode(pinbutt, INPUT_PULLUP);
Serial.begin(9600);
attachInterrupt(0, MyButton, FALLING);
}
void loop() {
switch (mode) {
case 1:
digitalWrite(pin, 1);
digitalWrite(pin - 1, 1);
digitalWrite(pin - 2, 1);
digitalWrite(pin - 3, 1);
digitalWrite(pin - 4, 1);
digitalWrite(pin - 5, 1);
delay(100);
break;
case 2:
digitalWrite(pin, 1);
digitalWrite(pin - 1, 1);
digitalWrite(pin - 2, 1);
digitalWrite(pin - 3, 1);
digitalWrite(pin - 4, 1);
digitalWrite(pin - 5, 1);
delay(100);
digitalWrite(pin, 0);
digitalWrite(pin - 1, 0);
digitalWrite(pin - 2, 0);
digitalWrite(pin - 3, 0);
digitalWrite(pin - 4, 0);
digitalWrite(pin - 5, 0);
break;
case 3:
digitalWrite(pin, 1);
digitalWrite(pin - 1, 1);
digitalWrite(pin - 2, 1);
delay(50);
digitalWrite(pin, 0);
digitalWrite(pin - 1, 0);
digitalWrite(pin - 2, 0);
delay(50);
digitalWrite(pin, 1);
digitalWrite(pin - 1, 1);
digitalWrite(pin - 2, 1);
delay(50);
digitalWrite(pin, 0);
digitalWrite(pin - 1, 0);
digitalWrite(pin - 2, 0);
delay(100);
digitalWrite(pin - 3, 1);
digitalWrite(pin - 4, 1);
digitalWrite(pin - 5, 1);
delay(50);
digitalWrite(pin - 3, 0);
digitalWrite(pin - 4, 0);
digitalWrite(pin - 5, 0);
delay(50);
digitalWrite(pin - 3, 1);
digitalWrite(pin - 4, 1);
digitalWrite(pin - 5, 1);
delay(50);
digitalWrite(pin - 3, 0);
digitalWrite(pin - 4, 0);
digitalWrite(pin - 5, 0);
delay(200);
break;
case 4:
digitalWrite(pin, 1);
delay(100);
digitalWrite(pin - 1, 1);
delay(100);
digitalWrite(pin - 2, 1);
delay(100);
digitalWrite(pin - 3, 1);
delay(100);
digitalWrite(pin - 4, 1);
delay(100);
digitalWrite(pin - 5, 1);
delay(100);
digitalWrite(pin, 0);
delay(100);
digitalWrite(pin - 1, 0);
delay(100);
digitalWrite(pin - 2, 0);
delay(100);
digitalWrite(pin - 3, 0);
delay(100);
digitalWrite(pin - 4, 0);
delay(100);
digitalWrite(pin - 5, 0);
delay(300);
break;
case 5:
digitalWrite(pin, 1);
digitalWrite(pin - 5, 1);
delay(200);
digitalWrite(pin - 1, 1);
digitalWrite(pin - 4, 1);
delay(200);
digitalWrite(pin - 2, 1);
digitalWrite(pin - 3, 1);
delay(200);
digitalWrite(pin, 0);
digitalWrite(pin - 5, 0);
delay(200);
digitalWrite(pin - 1, 0);
digitalWrite(pin - 4, 0);
delay(200);
digitalWrite(pin - 2, 0);
digitalWrite(pin - 3, 0);
delay(400);
break;
}
void MyButton() {
mode ++; Serial.print("Mode+");
if (mode >= 6) {mode = 0;}
Serial.println(mode);
}
пишет
In function ‘void loop()’:
sketch_oct28a:130:17: error: a function-definition is not allowed here before ‘{’ token
sketch_oct28a:134:1: error: expected ‘}’ at end of input
In function ‘void setup()’:
sketch_oct28a:15:22: error: ‘MyButton’ was not declared in this scope