Arduino:Библиотеки/SPI/Класс SPISettings: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Arduino панель перехода}} | {{Arduino панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
Строка 43: | Строка 43: | ||
<references /> | <references /> | ||
[[Категория:Стандартные библиотеки]] | [[Категория:Стандартные библиотеки]] |
Версия от 11:15, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Класс SPISettings[1]
Класс SPISettings используется, чтобы настроить SPI-порт для вашего SPI-устройства. В одном объекте SPISettings указывается сразу три параметра, после чего его можно либо поместить в функцию SPI.beginTransaction(), либо использовать отдельно.
Когда все три параметра являются константами, SPISettings нужно поместить прямо в SPI.beginTransaction(). Подробнее смотрите в разделе «Синтаксис» ниже. При использовании констант код становится меньше и быстрее.
Когда какой-либо из трех параметров является переменной, можно создать объект SPISettings. Затем этому объекту можно дать какое-нибудь специальное название, чтобы потом использовать его в SPI.beginTransaction(). Это может быть удобно, к примеру, если максимальная скорость переменной каким-то образом вычисляется или конфигурируется (другими словами, если это значение не статично), а не вписывается в скетч в чистом виде.
Синтаксис
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
Что возвращает
Ничего.
См.также
- SPI.beginTransaction()
- SPI.endTransaction()
- SPI.usingInterrupt()