Здравствуйте. Не могу понять, почему attachInterrupt не видит имя функции.
(Compilation error: ‘ai0’ was not declared in this scope
#include “EncButton.h”
EncButton enc(4, 5, 6);
volatile unsigned int temp, counter = 0;
void setup() {
Serial.begin (9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt (0, ai0, CHANGE);
attachInterrupt (1, ai1, CHANGE);
}
int click = 0;
int forming = 0;
int puancon = 0;
int moving = 0;
int air = 0;
void loop() {
enc.tick();
enc.click();
if (enc.click()) {
click +=1;
if (click > 4) {click =1;}
if (click ==1){Serial.print("forming ");Serial.println(forming);}
if (click ==2){Serial.print("puancon ");Serial.println(puancon);}
if (click ==3){Serial.print("moving ");Serial.println(moving);}
if (click ==4){Serial.print("air ");Serial.println(air);}
if (click == 1){
if (enc.right()) { forming -= 1;Serial.print("forming ");Serial.println(forming);}
if (enc.left()) { forming += 1; Serial.print("forming ");Serial.println(forming);}
}
if (click == 2){
if (enc.right()) { puancon -= 1; Serial.print("puancon ");Serial.println(puancon); }
if (enc.left()) { puancon += 1; Serial.print("puancon ");Serial.println(puancon); }
}
if (click == 3){
if (enc.right()) { moving -=1; Serial.print("moving ");Serial.println(moving);}
if (enc.left()) { moving += 1; Serial.print("moving ");Serial.println(moving);}
}
if (click == 4){
if (enc.right()) { air -=1; Serial.print("air ");Serial.println(air); }
if (enc.left()) { air += 1; Serial.print("air ");Serial.println(air); }
}
if (counter >= 600) {counter = 1 ;}
if (counter <= 1) {counter = 600 ;}
if( counter != temp ){
Serial.println (counter); // значение счётчика и печать в порт
temp = counter;
}
}
void ai0 (){
if(digitalRead(3) == LOW){
counter ++;
}else{
counter --;
}
}
void ai1 (){
if(digitalRead(2) == LOW){
counter – ;
} else {
counter ++ ;
}
}
Спасибо.