Calcolare il tempo tra due eventi

Claudio_FF questo è il codice che uso per verificare il numero di passi

#define encoderCLK 2 // CLK (canale A) connesso al pin D2
#define encoderDT 4  // DT (Canale B) connesso al pin D4
#define interrupt0 0 // Associato al pin 2

int encoderCount = 0; // Contatore
int actCLKState;      // Lettura attuale del canale CLK (A)
int prevCLKState;     // Lettura precedente del canale CLK (A)
 
void setup()
{
    pinMode(encoderCLK, INPUT);    // interrupt 0
    pinMode(encoderDT, INPUT);   

    attachInterrupt(interrupt0, CLKChanged, CHANGE);
   Serial.begin(38400); 
    prevCLKState = digitalRead(encoderCLK);
}
 
void loop() {
  Serial.println(encoderCount);
  }


void CLKChanged()
{
    int actCLKState = digitalRead(encoderCLK);
    if (prevCLKState != actCLKState)
    {
       
        encoderCount += (actCLKState == digitalRead(encoderDT) ? 1 : -1);
        Serial.println(encoderCount);
        prevCLKState = actCLKState;
    }
}

Certo per verificare la differenza tra due fonti ma il fatto è che se non legge correttamente nemmeno l'encoder non ha senso calcolare il tempo. Te cosa ne dici ? A me verrebbe da dire prima risolvol il problema della lettura di ogni passo