i2c — Шина I2C
Функції для роботи з пристроями на шині I2C через роз’єм розширення.
Приклад:
1// Сканування шини I2C
2i2c.begin(8, 9); // SDA = 8, SCL = 9
3let devices = i2c.scan();
4for (let i = 0; i < devices.length; i++) {
5 print("Знайдено пристрій: " + devices[i]);
6}
Функції
- i2c.begin(sda, scl, freq)
Ініціалізує шину I2C.
- Arguments:
sda (
number()) – Номер піна SDA.scl (
number()) – Номер піна SCL.freq (
number()) – Частота шини в Гц (необов’язково, за замовчуванням100000).
- i2c.set_clock(freq)
Встановлює тактову частоту шини.
- Arguments:
freq (
number()) – Частота в Гц.
- i2c.scan()
Сканує шину та повертає масив знайдених 7-бітних адрес.
- Повертає:
Масив адрес.
- Тип повернення:
number[]
- i2c.write(addr, data)
Записує дані пристроєві.
- Arguments:
addr (
number()) – 7-бітна адреса пристрою.data – Один байт (число) або масив байтів.
- Повертає:
Статус (
0— успіх).- Тип повернення:
number
- i2c.read(addr, count)
Читає
countбайтів з пристрою.- Arguments:
addr (
number()) – 7-бітна адреса пристрою.count (
number()) – Кількість байтів.
- Повертає:
Масив прочитаних байтів.
- Тип повернення:
number[]
- i2c.write_read(addr, wdata, count)
Записує дані, а потім виконує читання з повторним стартом (repeated start).
- Arguments:
addr (
number()) – 7-бітна адреса пристрою.wdata – Один байт (число) або масив байтів для запису.
count (
number()) – Кількість байтів для читання.
- Повертає:
Масив прочитаних байтів.
- Тип повернення:
number[]