ok not so much optimization, shorten it?.
void ShiftByteOut(byte chip, byte b)
{
byte bp = B00000000;
byte bp2 = B00000000;
digitalWrite(latchPin, LOW);
if (chip==1)
{
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
shiftOut(dataPin, clockPin, MSBFIRST, b);
}
if (chip==2)
{
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
shiftOut(dataPin, clockPin, MSBFIRST, b);
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
}
if (chip==3)
{
shiftOut(dataPin, clockPin, MSBFIRST, b);
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
shiftOut(dataPin, clockPin, MSBFIRST, bp2);
}
digitalWrite(latchPin, HIGH);
}
Easiest way to shorten this code? thanks