Processing:Библиотеки/Hardware I/O/Класс SPI/transfer(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 10: Строка 10:
==Класс==
==Класс==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
SPI
SPI
</syntaxhighlight>
</syntaxhighlight>
Строка 16: Строка 16:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
transfer()
transfer()
</syntaxhighlight>
</syntaxhighlight>
Строка 28: Строка 28:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
.transfer(out)
.transfer(out)
</syntaxhighlight>
</syntaxhighlight>
Строка 34: Строка 34:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<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" enclose="div">
<syntaxhighlight lang="c">
Массив byte[].
Массив byte[].
</syntaxhighlight>
</syntaxhighlight>
Строка 46: Строка 46:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
import processing.io.*;
import processing.io.*;
SPI adc;
SPI adc;

Версия от 18:11, 14 мая 2023


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


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);
}

См.также

Внешние ссылки