|This page is intended as a reference for core developers only, and the content is only changed after a consensus has been reached through discussion of any such changes. Please use the Discussion page to talk about any changes or issues you have with the current implementation.|
|Classification||Bit shifting methods|
|Version introduced||1.0 (0100)|
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint16_t val, uint8_t count, uint8_t delayTime)
The shiftOut() method writes data to a pin one bit at a time.
Black Box Input
The pin send to receive data, the pin used as clock, the bit order (from MSBFIRST or LSBFIRST), the data to send out (in byte or unsigned int), the number of bits to send and the delay time are provided.
Black Box Output
Nothing is returned.
None. Single signature only.
shiftOut() can start from the most or the least significant bit (starts from leftmost or rightmost bit). This method is very useful to manage shift registers (output), which are devices that convert data from serial to parallel using one Wiring pin for sending data, one for the clock, and one for the strobe (latch).
MSBFIRST stands for most significant bit first (leftmost bit), LSBFIRST stands for less significant bit first (rightmost bit).
For Wiring 1.1
According to Issue 9, pinRead() will be defined as:
void shiftOut(pin_t dataPin, pin_t clockPin, uint8_t bitOrder, uint16_t val, uint8_t count, uint8_t delayTime)
See Issue 9 for more details.