Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция shiftOut(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="javascri...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[]</ref>= | =Функция shiftOut()<ref>[https://www.espruino.com/Reference#t_l__global_shiftOut www.espruino.com - function shiftOut]</ref>= | ||
==Синтаксис== | |||
<syntaxhighlight lang="javascript" enclose="div"> | |||
function shiftOut(pins, options, data) | |||
</syntaxhighlight> | |||
==Параметры== | |||
* '''pins''' – контакт или массив контактов, которым надо передать данные | |||
* '''options''' – настройки тактовой частоты (см. ниже) | |||
* '''data''' – данные, которые надо сдвинуть и отправить (см. описание [https://www.espruino.com/Reference#l_E_toUint8Array E.toUint8Array], чтобы посмотреть, в каком виде можно задать данные в этом аргументе) | |||
==Описание== | |||
Выполняет побитовый сдвиг и передачу битов заданным контактам, начиная с самого младшего бита. | |||
Пример: | |||
<syntaxhighlight lang="javascript" enclose="div"> | <syntaxhighlight lang="javascript" enclose="div"> | ||
// сдвиг и передача битов на один контакт A0 | |||
// с использованием «clk» и «data»: | |||
shiftOut(A0, { clk : A1 }, [1,0,1,0]); | |||
// сдвиг и передача целого байта (типа программной SPI) | |||
shiftOut(A0, { clk : A1, repeat: 8 }, [1,2,3,4]); | |||
// сдвиг и передача данных 4 контактам: | |||
shiftOut([A3,A2,A1,A0], { clk : A4 }, [1,2,3,4]); | |||
Объект options устроен следующим образом: | |||
{ | |||
clk : pin, // контакт для тактовой частоты | |||
// (undefined = без контакта) | |||
clkPol : bool, // полярность тактового сигнала, | |||
// по умолчанию – «0», | |||
// так что можно поставить «1», | |||
// а затем переключаться на «0» для передачи данных | |||
repeat : int, // количество тиков на один элемент массива | |||
} | |||
</syntaxhighlight> | |||
Контактам будет передан каждый элемент массива ''data'', и первым контактом, который будет получать данные, будет самый старший контакт в массиве контактов, а последним – самый младший. Тактовый сигнал будет работать с полярностью заданной в ''clkPol''. | |||
Значение в ''repeat'' – это то, сколько раз будут выполнены сдвиг и отправка данных каждому элементу массива. К примеру, если вам нужно сдвинуть и отправить ''8 бит'' двум контактам, в repeat нужно задать ''«4»''. | |||
=См.также= | =См.также= |
Версия от 16:00, 21 ноября 2020
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция shiftOut()[1]
Синтаксис
function shiftOut(pins, options, data)
Параметры
- pins – контакт или массив контактов, которым надо передать данные
- options – настройки тактовой частоты (см. ниже)
- data – данные, которые надо сдвинуть и отправить (см. описание E.toUint8Array, чтобы посмотреть, в каком виде можно задать данные в этом аргументе)
Описание
Выполняет побитовый сдвиг и передачу битов заданным контактам, начиная с самого младшего бита.
Пример:
// сдвиг и передача битов на один контакт A0
// с использованием «clk» и «data»:
shiftOut(A0, { clk : A1 }, [1,0,1,0]);
// сдвиг и передача целого байта (типа программной SPI)
shiftOut(A0, { clk : A1, repeat: 8 }, [1,2,3,4]);
// сдвиг и передача данных 4 контактам:
shiftOut([A3,A2,A1,A0], { clk : A4 }, [1,2,3,4]);
Объект options устроен следующим образом:
{
clk : pin, // контакт для тактовой частоты
// (undefined = без контакта)
clkPol : bool, // полярность тактового сигнала,
// по умолчанию – «0»,
// так что можно поставить «1»,
// а затем переключаться на «0» для передачи данных
repeat : int, // количество тиков на один элемент массива
}
Контактам будет передан каждый элемент массива data, и первым контактом, который будет получать данные, будет самый старший контакт в массиве контактов, а последним – самый младший. Тактовый сигнал будет работать с полярностью заданной в clkPol.
Значение в repeat – это то, сколько раз будут выполнены сдвиг и отправка данных каждому элементу массива. К примеру, если вам нужно сдвинуть и отправить 8 бит двум контактам, в repeat нужно задать «4».
См.также
Внешние ссылки