#define ENCODER_A 25
#define ENCODER_B 26
//Encoder counter
volatile int counter;
ICACHE_RAM_ATTR void ISRENCODER_A()
{
if(digitalRead(ENCODER_B) )
counter++;
}
ICACHE_RAM_ATTR void ISRENCODER_B()
{
if( digitalRead(ENCODER_A))
counter--;
}
void setup() {
Serial.begin(115200);
pinMode(ENCODER_A, INPUT);
pinMode(ENCODER_B, INPUT);
attachInterrupt(digitalPinToInterrupt(ENCODER_A), ISRENCODER_A, FALLING);
attachInterrupt(digitalPinToInterrupt(ENCODER_B), ISRENCODER_B, FALLING);
counter = 0;
}
int lastClk = HIGH;
void loop() {
//Escritura puerto serie
Serial.println(counter);
delay(100); // delay in between reads for stability
}