[Advanced I/O]
Description
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.
If you’re interfacing with a device that’s clocked by rising edges, you’ll need to make sure that the clock pin is low before the first call to shiftIn()
, e.g. with a call to digitalWrite(clockPin, LOW)
.
Note: this is a software implementation; 86Duino also provides an SPI library that uses the hardware implementation, which is faster but only works on specific pins.
Syntax
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Parameters
dataPin
: the pin on which to input each bit (int)clockPin
: the pin to toggle to signal a read fromdataPin
bitOrder
: which order to shift in the bits; eitherMSBFIRST
orLSBFIRST
. (Most Significant Bit First, or, Least Significant Bit First)
Returns
the value read (byte)
See also
Language Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.