Arduino comunicación serie

Tengo una duda sobre el envido de datos serie de arduino , es caso es que se que existe la función shiftout y se utilizarla , pero el problema es que necesito que la velocidad de el reloj sea inferior a 500KHz.
El caso es que necesito enviar estos datos a unos registros de desplazamiento.

He pensado un poco y creo que utilizando( if else) se podría conseguir , así mismo buscando un poco por ay me e topado con este código que hace exactamente lo que yo quiero pero esta en c.

STROBE_L;
for (j=0;j<AnzModule;j++)
{
outdat =*(data+AnzModule-j-1);
for (i=0;i<8;i++)
{
CLK_L;
if (outdat & 1)
DOUT_H;
else
DOUT_L;
outdat>>=1;
wait(); //short delay to limit speed
CLK_H; wait();
}
}
STROBE_H;
wait()


la Cuestión seria si por ejemplo tengo 010101 ir desplazándome bit a bit y saber si es 0 o 1 para introducirlo en un if else. ...
 
Atrás
Arriba