- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Утилиты
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- Прерывания
- Функции передачи данных
- SPISettings
- Функции
SPISettings
Описание
Объект SPISettings используется для настройки порта SPI для вашего устройства SPI. Все 3 параметра объединены в один объект SPISettings, который передается SPI.beginTransaction().
Когда все ваши параметра являются константами, SPISettings следует поместить непосредственно в SPI.beginTransaction(). См. раздел синтаксис ниже. При использовании констант этот синтаксис приводит к меньшему и более быстрому коду.
Если какие-либо из ваших параметров являются переменными, вы можете создать объект SPISettings. Затем вы можете указать имя объекта для SPI.beginTransaction(). Создание именованного объекта SPISettings может быть более эффективным, если ваши параметры не являются константами, особенно если максимальная скорость является вычисляемой или конфигурируемой переменной, а не числом, которое вы вводите непосредственно в свой скетч.
Синтаксис
SPI.beginTransaction(SPISettings(14000000, MSBFIRST, SPI_MODE0)) – этот вариант лучше использовать, если все три параметра являются константами
SPISettings mySetting(speedMaximum, dataOrder, dataMode) – это вариант лучше использовать, если хотя бы один из параметров является переменной
Параметры
speedMaximum: максимальная скорость соединения. К примеру, для чипа, рассчитанного на 20 МГц, используйте значение «20000000»
dataOrder: MSBFIRST или LSBFIRST
dataMode: SPI_MODE0, SPI_MODE1, SPI_MODE2, или SPI_MODE3
Возвращаемые значения
нет
Пример
#include <SPI.h>
void setup() {
SPI.begin();
}
void loop() {
SPI.beginTransaction(SPISettings(100000, MSBFIRST, SPI_MODE3));
byte a[] = {0xC,0xFF,0xFF,0xFF};
SPI.transfer(a, 4);
SPI.endTransaction();
delay(10);
}