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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=settings()<ref>[https://processing.org/reference/libraries/io/SPI_settings_.html processing.org - settings()]</ref>=
=settings()<ref>[https://processing.org/reference/libraries/io/SPI_settings_.html processing.org - settings()]</ref>=
Строка 10: Строка 10:
==Класс==
==Класс==


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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
.settings(maxSpeed, dataOrder, mode)
.settings(maxSpeed, dataOrder, mode)
</syntaxhighlight>
</syntaxhighlight>
Строка 34: Строка 34:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
maxSpeed – максимальная скорость передачи данных (в Гц). По умолчанию стоит «500000» (500 кГц). Тип данных – int
maxSpeed – максимальная скорость передачи данных (в Гц). По умолчанию стоит «500000» (500 кГц). Тип данных – int
dataOrder – порядок отправки данных, т.е. с какого бита будут отправляться данные – с самого младшего или самого старшего. Более распространен второй вариант. Возможные значения: SPI.MSBFIRST и SPI.LSBFIRST. Тип данных – int
dataOrder – порядок отправки данных, т.е. с какого бита будут отправляться данные – с самого младшего или самого старшего. Более распространен второй вариант. Возможные значения: SPI.MSBFIRST и SPI.LSBFIRST. Тип данных – int
Строка 42: Строка 42:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 48: Строка 48:
==Пример==
==Пример==


<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;
Строка 94: Строка 94:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Текущая версия от 11:51, 20 мая 2023


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



settings()[1]

Класс

SPI

Обозначение

settings()

Описание

Задает настройки интерфейса SPI.

Настройки по умолчанию – 500000, SPI.MSBFIRST, SPI.MODE0.

Синтаксис

.settings(maxSpeed, dataOrder, mode)

Параметры

maxSpeed  максимальная скорость передачи данных (в Гц). По умолчанию стоит «500000» (500 кГц). Тип данных  int
dataOrder  порядок отправки данных, т.е. с какого бита будут отправляться данные  с самого младшего или самого старшего. Более распространен второй вариант. Возможные значения: SPI.MSBFIRST и SPI.LSBFIRST. Тип данных  int
mode  режим работы интерфейса SPI (более подробно о режимах SPI читайте [https://ru.wikipedia.org/wiki/Serial_Peripheral_Interface#Режимы_работы_интерфейса_SPI тут]). Возможные значения: SPI.MODE0, SPI.MODE1, SPI.MODE2 и SPI.MODE3. Тип данных – int

Возвращаемое значение

void

Пример

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

См.также

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