Calcolare il tempo tra due eventi

Claudio_FF

void CLKChanged()
{
    byte clwise = digitalRead(encoderCLK) == digitalRead(encoderDT); 
    encoderCount += (clwise << 1) - 1;
}
void CLKChanged()
{
    byte clwise = digitalRead(encoderCLK) == digitalRead(encoderDT); 
    if(clwise)
    {
        encoderCount++;
        if(first) { first = false;  tA = micros(); }
        else      { tB = tA;  tA = micros();  diff = tA - tB; }
    }
    else
    {
        encoderCount--;
        first = true;
    }
}

[/quote]

Scusa la mia ignoranza ma non ho capito il primo sketch di programma. Me lo potresti spiegare a parole. Grazie
Del secondo sketch quando perchè nell' else hai messo " first = true;" non ho capito.

Volevo domandarti anche per il fatto del calcolare la media dei tempi dopo un certo numero di passi, ho pensato di usare due variabili una che somma tutti i tempi cioè al termine di ogni passo il tempo va sommato in una variabile e il numero di passi raggiunto un numero prefissato fa la divisione tra i tempi e il numero di passi così trovo un tempo medio. Oppure il contrario. Buona idea?