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).
