shiftIn() / Arduino
Описание
Сдвигает байт данных по одному биту за раз. Начинает с самого старшего (т.е. самого левого) или самого младшего (самого правого) значащего бита. Для каждого бита, тактовый вывод подтягивается до высокого уровня, следующий бит считывается с линии данных, а затем на тактовом выводе устанавливается низкий логический уровень.
Если вы взаимодействуете с устройством, которое синхронизируется по нарастающим фронтам, перед первым вызовом shiftIn()
вам нужно убедиться, что на тактовом выводе низкий логический уровень, например, вызвав digitalWrite(clockPin, LOW)
.
Примечание: это программная реализация; Arduino также предоставляет библиотеку SPI, которая использует аппаратную реализацию, которая работает быстрее, но работает только на определенных выводах.
Синтаксис
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Параметры
dataPin
: вывод, на который приходит каждый бит (int
).
clockPin
: вывод для переключения на сигнал чтения из dataPin
.
bitOrder
: в каком порядке сдвигать биты; либо MSBFIRST
, либо LSBFIRST
. (Most Significant Bit First (самый старший значащий бит первый) или Least Significant Bit First (самый младший значащий бит первый)).
Возвращает
Прочитанное значение (byte
).