SPI

Класс предназначен для работы с SPI-интерфейсом.

SPI()

Для непосредственной работы с аппаратными SPI используются экземпляры класса — SPI1, SPI2 и SPI3. Так же можно создать программный интерфейс, создав новый экземпляр класса new SPI(). Программный SPI имеет ограниченный функционал (не настраивается скорость передачи), но может работать на любых пинах.

SPI.find(pin)

Возвращает экземпляр аппаратного SPI, который работает на пине pin, иначе — undefined.

SPIn.setup(options)

Настраивает 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});

SPIn.send4bit(data, bit0, bit1, nss_pin)

SPIn.send8bit(data, bit0, bit1, nss_pin)

SPIn.send(data, nss)

Отправляет данные data и возвращает результат. Если data типа Integer — будет возвращен Integer, если String — то String, в остальных случаях — Uint8Array. nss — пин контакта nSS, который будет переведен в 0 при начале передачи, в 1 — при ожидании получения данных.

Для увеличения производительности предпочтительней передать несколько байт в data, чем вызывать SPIn.send() несколько раз. Для максимальной скорости data должен быть типа String или TypedArray.

SPIn.write(data, [ ... , nss])

Функция записывает строку или массив, соединенный в строку, без последующего чтения. Можно передавать несколько параметров, которые будут переданы последовательно. Последним параметром может быть пин nSS, который будет задействован.