Processing:Библиотеки/Hardware I/O/Класс SPI/transfer(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=transfer()<ref>[https://processing.org/reference/libraries/io/SPI_transfer_.html processing.org - transfer()]</ref>= | =transfer()<ref>[https://processing.org/reference/libraries/io/SPI_transfer_.html processing.org - transfer()]</ref>= | ||
Строка 10: | Строка 10: | ||
==Класс== | ==Класс== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
SPI | SPI | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 16: | Строка 16: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
transfer() | transfer() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 28: | Строка 28: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
.transfer(out) | .transfer(out) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 34: | Строка 34: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
out – отправляемые данные. Это может быть срока, целое число (например, цифровой литерал: от «0» до «255» или от «-128» до «127»), байт или массив байтов. Тип данных – String, int, byte или массив byte[] | out – отправляемые данные. Это может быть срока, целое число (например, цифровой литерал: от «0» до «255» или от «-128» до «127»), байт или массив байтов. Тип данных – String, int, byte или массив byte[] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 40: | Строка 40: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Массив byte[]. | Массив byte[]. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 46: | Строка 46: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import processing.io.*; | import processing.io.*; | ||
SPI adc; | SPI adc; | ||
Строка 91: | Строка 91: | ||
|Высота логотипа издателя для schemaNewsArticle=45 | |Высота логотипа издателя для schemaNewsArticle=45 | ||
}} | }} | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Processing}} |
Текущая версия от 11:51, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
transfer()[1]
Класс
SPI
Обозначение
transfer()
Описание
Передает данные через шину SPI.
В интерфейсе SPI происходит одновременный обмен данными между ведущим и ведомым устройствами. То есть с каждым отправляемым байтом также считывается один байт.
Синтаксис
.transfer(out)
Параметры
out – отправляемые данные. Это может быть срока, целое число (например, цифровой литерал: от «0» до «255» или от «-128» до «127»), байт или массив байтов. Тип данных – String, int, byte или массив byte[]
Возвращаемое значение
Массив byte[].
Пример
import processing.io.*;
SPI adc;
void setup() {
//printArray(SPI.list());
adc = new SPI(SPI.list()[0]);
adc.settings(500000, SPI.MSBFIRST, SPI.MODE0);
}
void draw() {
// считываем значения через интерфейс SPI,
// присланные от цифроаналогового преобразователя;
// отправляемые данные являются просто нулями –
// эти данные необязательно должны что-либо значить:
byte[] out = { 0, 0 };
byte[] in = adc.transfer(out);
// согласно «даташиту», выполняем сдвиг входящих битов:
int val = ((in[0] & 0x1f) << 5) | ((in[1] & 0xf8) >> 3);
// значение в диапазоне от «0» до «1023»:
println(val);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |