Comme je le précise, il n'y a aucune interruption qui pourrait perturber le fonctionnement.
Si, à mon avis il y a un bug.
L'état du signal n'est pas connu au moment où on exécute ce bloc :
while(valBitInfoVitesse==LOW)
{
valBitInfoVitesse=digitalRead(bitInfoVitesse);
}
t=micros();
Si on a la chance d'être sur LOW, tout ira bien, on attend bien pour sortir de la boucle le passage sur High.
Mais si on est déjà pendant un état HIGH du signal, ce bloc est sauté sans attendre.
La variable t est censée mémoriser en sortie de cette boucle
l'instant précis d'un front montant.
Au lieu de ça elle va mémoriser un
instant quelconque pendant un état HIGH.