shiftIn() / Arduino

Добавлено 31 октября 2018 в 21:30

Описание

Сдвигает байт данных по одному биту за раз. Начинает с самого старшего (т.е. самого левого) или самого младшего (самого правого) значащего бита. Для каждого бита, тактовый вывод подтягивается до высокого уровня, следующий бит считывается с линии данных, а затем на тактовом выводе устанавливается низкий логический уровень.

Если вы взаимодействуете с устройством, которое синхронизируется по нарастающим фронтам, перед первым вызовом 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).

 

Теги

ArduinoGPIOSPI (последовательный периферийный интерфейс)Последовательная связьПрограммированиеЦифровой вход

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.