Arduino:Справочник языка Arduino/Функции/Дополнительные функции ввода/вывода/shiftIn()
| Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция shiftIn()[1]
Выполняет побитовый сдвиг — по одному биту за раз. Начинает с самого (то есть левого) или наименее (то есть правого) значимого бита. Процесс проходит следующим образом: тактовый контакт переключается в состояние HIGH, из линии данных считывается очередной бит, а затем тактовый контакт переключается обратно в положение LOW.
Если вы работаете с девайсом, который синхронизируется по переднему фронту импульса, перед вызовом shiftIn() нужно обязательно перевести тактовый контакт в положении LOW. Сделать это можно, например, при помощи функции
digitalWrite(clockPin, LOW).
Примечание
Функция shiftIn() является программной реализацией. Но в Arduino есть библиотека SPI, которая использует аппаратную реализацию — она быстрее, но работает только со специальными контактами.
Синтаксис
byte incoming = shiftIn(dataPin, clockPin, bitOrder)
Параметры
dataPin — контакт, с которого будут считываться биты (тип данных — int)
clockPin — тактовый контакт, который будет переключатся с LOW на HIGH и наоборот, чтобы задавать «ритм» для считывания с dataPin
bitOrder — порядок, в котором будут сдвигаться биты (MSBFIRST – Most Significant Bit First, т.е. «первым — самый значимый бит»; LSBFIRST — Most Significant Bit First, т.е. «первым — наименее значимый бит»)
Что возвращает
Считанное значение (тип данных — byte)
См.также
Внешние ссылки
| Arduino продукты | |
|---|---|
| Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
| Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
| Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
| Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
| 3D-печать | Arduino Materia 101 |
| Устаревшие устройства | - |
| Примеры Arduino | |
|---|---|
| Стандартные функции | |
| Основы |
|
| Цифровой сигнал |
|
| Аналоговый сигнал |
|
| Связь |
|
| Управляющие структуры |
|
| Датчики |
|
| Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
| Строки |
|
| USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
| Клавиатура |
|
| Мышь |
|
| Разное | |