Синтаксис
shiftOut(dataPin, bitOrder, value)
Параметры
dataPin: вывод, которому будет отправляться каждый бит из сдвигаемого байта данных (int)
clockPin: тактовый вывод, который будет переключаться каждый раз, когда на выводе dataPin устанавливается корректное значение (int)
bitOrder: характеризует порядок, в котором будут сдвигаться и выводиться биты; может принимать значения MSBFIRST или LSBFIRST. (Most Significant Bit First - старший значащий бит первым, или Least Significant Bit - младший значащий бит первым)
value: сдвигаемый байт данных (byte)
Возвращаемые значения
нет
Примечание
Выводы dataPin и clockPin должны быть уже сконфигурированы как выходы с помощью функции pinMode().
На данный момент функция shiftOut позволяет выводить только 1 байт (8 бит), поэтому для вывода значений, больших 255, требуется два этапа:
// Последовательная передача в режиме MSBFIRST
int data = 500;
// сдвигаем и выводим старший байт
shiftOut(dataPin, clock, MSBFIRST, (data >> 8));
// сдвигаем и выводим младший байт
shiftOut(dataPin, clock, MSBFIRST, data);
// Последовательная передача в режиме LSBFIRST
data = 500;
// сдвигаем и выводим младший байт
shiftOut(dataPin, clock, LSBFIRST, data);
// сдвигаем и выводим старший байт
shiftOut(dataPin, clock, LSBFIRST, (data >> 8));