mutiplexen en demultiplexen met dezelfde adres lijnen

Hallo,

Ik ben bezig met een Arduino Uno en twee maal een mux (74HC4051) breakout board.

Er is een ingang Mux en en een uitgang Mux. Om uitgangen te besparen wilde ik dezelfde adres lijnen gebruikten (S0 t/m S2).

Ik krijg alleen de beide muxen niet synchroon .

Ik denk dat het een timings probleem is, maar kan het niet vinden. Wil iemand hier een blik op werpen.

Ik heb gezocht of er een voorbeeld is op interenet waarbij iemand dit ook geprobeerd heeft, maar kan niets vinden.

Dus misschien is het niet mogelijk wat ik wil. Maar zo bespaar ik wel weer 3 uitgangen.

const int zOutput = 5; 
int pin_Out_S0 = 8;
int pin_Out_S1 = 9;
int pin_Out_S2 = 10;

int pin_In_Mux1 = 7;


int Mux1_State[8] = {0};

int Mux2_State[8] = {0};

int pin;




void setup() 
{
  pinMode(pin_Out_S0, OUTPUT);
  pinMode(pin_Out_S1, OUTPUT);
  pinMode(pin_Out_S2, OUTPUT);


  pinMode(pin_In_Mux1, INPUT_PULLUP);

  pinMode(zOutput, OUTPUT); // Set up Z as an output
  
}

void loop() 
{

  for (int i = 0; i < 8; i++){


   
    digitalWrite(pin_Out_S0, HIGH && (i & B00000001));
    digitalWrite(pin_Out_S1, HIGH && (i & B00000010));
    digitalWrite(pin_Out_S2, HIGH && (i & B00000100));


    if (Mux2_State[i])
        digitalWrite(zOutput, HIGH);
    else
        digitalWrite(zOutput, LOW);
        
    Mux1_State[i] = digitalRead(pin_In_Mux1);
    

     Mux2_State[i] =  Mux1_State[i];
          
  }
}

ja het is zeker een timing probleem zet er eens een delay in van 5000 dan kun je zien wat er gebeurt.
nu gaat het supersnel en wordt alles standen gedaan.