[SOLUCIONADO] while{} en void loop()

A ver si entendi, es algo asi lo que dices?
porque asi tengo el mismo problema, mientras que este en HIGH se ejecuta el codigo tantas veces como el void loop() lo haga

     if( digitalRead( 2 ) )
     {
        lSenialEncoder = 1;
     }
     else
     {
        lSenialEncoder = 0;
     }

     if( lSenialEncoder )
     {
        encoder ++ ;

otra prueba que hize

   if( lSenialEncoder == 0 )
     {
       if( digitalRead( 2 ) )
       {
          lSenialEncoder = 1;
       }
       else
       {
          lSenialEncoder = 0;
       }
     }

     if( lSenialEncoder )
     {
        lSenialEncoder = 0;
        ...

ambas con el mismo resultado