SPI
Класс предназначен для работы с SPI-интерфейсом.
Для непосредственной работы с аппаратными SPI используются экземпляры класса — SPI1
, SPI2
и SPI3
. Так же можно создать программный интерфейс, создав новый экземпляр класса new SPI()
. Программный SPI имеет ограниченный функционал (не настраивается скорость передачи), но может работать на любых пинах.
Возвращает экземпляр аппаратного SPI, который работает на пине pin
, иначе — undefined
.
Настраивает SPI шину. Параметры options
:
sck
— пин тактирования;miso
— пин передачи данных к Iskra JS;mosi
— пин передачи данных от Iskra JS;baud
— скорость соединения, по умолчанию 100000;mode
— режим 0/1/2/3;order
— начальный бит в байте 'msb'/'lsb', по умолчанию 'msb'
SPI2.setup({baud:3200000, mosi:B15, sck:B13, miso:B14});
Отправляет данные data
и возвращает результат. Если data
типа Integer
— будет возвращен Integer
, если String
— то String
, в остальных случаях — Uint8Array
. nss
— пин контакта nSS
, который будет переведен в 0
при начале передачи, в 1
— при ожидании получения данных.
Для увеличения производительности предпочтительней передать несколько байт в data
, чем вызывать SPIn.send()
несколько раз. Для максимальной скорости data
должен быть типа String
или TypedArray
.
Функция записывает строку или массив, соединенный в строку, без последующего чтения. Можно передавать несколько параметров, которые будут переданы последовательно. Последним параметром может быть пин nSS
, который будет задействован.