#define MaxShiftRegisters 4 //actually 3 but works with this for loop.
void ShiftByteOut(byte chip, byte b)
{
byte bp = B00000000;
byte bp2 = B00000000;
digitalWrite(latchPin, LOW);
for(byte n2=0; n2<MaxShiftRegisters; n2++)
{
Serial.print("n2 ");
Serial.println(n2);
if (chip==n2)
shiftOut(dataPin, clockPin, MSBFIRST, b);
else
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
}
digitalWrite(latchPin, HIGH);
}