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.