☰ Оглавление

shiftOut()

Осуществляет побитовый сдвиг и вывод байта данных, начиная с самого старшего (левого) или младшего (правого) значащего бита. Функция поочередно отправляет каждый бит на указанный вывод данных, после чего формирует импульс (высокий уровень, затем низкий) на тактовом выводе, сообщая внешнему устройству о поступлении нового бита.

Примечание: Для взаимодействия с устройствами, тактируемыми по фронту импульсов, перед вызовом shiftOut() необходимо убедиться, что тактовый вывод переключен в низкий уровень, например с помощью функции digitalWrite(clockPin, LOW).

Функция является программной реализацией SPI; аппаратная версия реализована в библиотеке SPI, поэтому она является быстрее, но работает только со специальными выводами.

Синтаксис

Параметры

dataPin: вывод, которому будет отправляться каждый бит из сдвигаемого байта данных (int)

clockPin: тактовый вывод, который будет переключаться каждый раз, когда на выводеdataPinустанавливается корректное значение (int)

bitOrder: характеризует порядок, в котором будут сдвигаться и выводиться биты; может принимать значенияMSBFIRSTилиLSBFIRST. (Most Significant Bit First - старший значащий бит первым, или Least Significant Bit - младший значащий бит первым)

value: сдвигаемый байт данных (byte)

Возвращаемые значения

нет

Примечание

ВыводыdataPinиclockPinдолжны быть уже сконфигурированы как выходы с помощью функции pinMode().

На данный момент функцияshiftOutпозволяет выводить только 1 байт (8 бит), поэтому для вывода значений, больших 255, требуется два этапа:

Пример

Схема, соответствующая примеру, описана винструкции по работе со сдвиговым регистром 74HC595.

 

×