Wire.write()

Описание

write() записывает данные с периферийного устройства в ответ на запрос от устройства-контроллера, либо ставит байты в очередь для передачи от контроллера к периферийному устройству (между вызовами beginTransmission() и endTransmission()).

Эта функция является частью библиотеки Wire. Подробнее см. на главной странице Wire.

Синтаксис

Wire.write(value)
Wire.write(string)
Wire.write(data, length)

Параметры

  • value: значение для отправки в виде одного байта. Допустимые типы данных: byte.

  • string: строка для отправки в виде последовательности байтов. Допустимые типы данных: char*.

  • data: массив данных для отправки в виде байтов. Допустимые типы данных: byte[].

  • length: количество байтов для передачи. Допустимые типы данных: size_t.

Возвращаемое значение

Количество записанных байтов (считывание этого значения необязательно). Тип данных: size_t.

Пример кода

#include <Wire.h>

byte val = 0;

void setup() {
  Wire.begin();  // Подключаемся к шине I2C
}

void loop() {
  Wire.beginTransmission(44);  // Передаём устройству с номером 44 (0x2C)
  Wire.write(val);             // Отправляем байт значения
  Wire.endTransmission();      // Останавливаем передачу

  val++;  // Инкрементируем значение

  // Если достигли 64-й позиции (максимум), начинаем заново с минимального значения
  if (val == 64) {
    val = 0;
  }

  delay(500);
}