Estoy intentando que un multiplexor funcione con el Arduino. Descripción en sparkfun Hoja de datos
Pensé que el cableado era bastante simple y, como prueba básica, tengo AREF conectado a C1 (multiplexor) y un cable flotante conectado a C0. Todo en el lado de interconexión se mapea casi 1 a 1 con el arduino.
Estoy usando este código simple para cambiar el multiplexor
void select_wire(char which){
digitalWrite(S0,which&0x01);
digitalWrite(S1,which&0x02);
digitalWrite(S2,which&0x04);
digitalWrite(S3,which&0x08);
digitalWrite(EN,0);
delay(1); //required?
}
y luego acabo de leer el pin analógico en S
en el multiplexor. Mi problema es que no está cambiando! ¿Cómo soluciono esto para que se comporte como es debido y dé un cero (o cierre) cada vez que hago select_wire(1)
y leo el pin analógico?
Además, no estoy usando el "lenguaje" de Wiring, pero estoy usando la biblioteca de Wiring. También he establecido todos los pinMode
s apropiados en el init