shiftIn() Function Of Arduino Programming Language



Shifts in a byte of data one bit at a time. Starts from either the most (i.e. the leftmost) or least (rightmost) significant bit. For each bit, the clock pin is pulled high, the next bit is read from the data line, and then the clock pin is taken low.
Note: this is a software implementation; Arduino also provides an SPI library that uses the hardware implementation, which is faster but only works on specific pins.


byte incoming = shiftIn(dataPin, clockPin, bitOrder) 


dataPin: the pin on which to input each bit (int)
clockPin: the pin to toggle to signal a read from dataPin
bitOrder: which order to shift in the bits; either MSBFIRST or LSBFIRST.
(Most Significant Bit First, or, Least Significant Bit First)


the value read (byte)