spi — Шина SPI

Функції для роботи з пристроями на користувацькій шині SPI через роз’єм розширення.

Примітка

Доступно лише на Лілці v2. Використовується окрема шина SPI2 (FSPI), тому робота з дисплеєм та SD-карткою не порушується. Лінією вибору пристрою (CS) потрібно керувати вручну через модуль gpio.

Приклад:

1let cs = 21;
2spi.begin(12, 13, 14); // SCK, MISO, MOSI
3gpio.mode(cs, gpio.OUTPUT);
4gpio.write(cs, gpio.HIGH);
5
6gpio.write(cs, gpio.LOW);
7let resp = spi.transfer([0x9F, 0x00, 0x00, 0x00]);
8gpio.write(cs, gpio.HIGH);
9print("Manufacturer: " + resp[1]);

Константи

spi.MODE0

Режим SPI 0.

spi.MODE1

Режим SPI 1.

spi.MODE2

Режим SPI 2.

spi.MODE3

Режим SPI 3.

Функції

spi.begin(sck, miso, mosi)

Ініціалізує шину SPI.

Arguments:
  • sck (number()) – Номер піна SCK (тактовий сигнал).

  • miso (number()) – Номер піна MISO.

  • mosi (number()) – Номер піна MOSI.

spi.transfer(data, frequency, mode)

Передає дані по шині SPI (повний дуплекс) і повертає прийняті дані.

Arguments:
  • data – Один байт (число) або масив байтів.

  • frequency (number()) – Частота в Гц (необов’язково, за замовчуванням 4000000).

  • mode (number()) – Режим SPI (необов’язково, за замовчуванням spi.MODE0).

Повертає:

Прийнятий байт (число) або масив байтів.

spi.close()

Завершує роботу з шиною SPI.