Шановні друзі! Сайт знаходиться в процесі перекладу на солов'їну мову. Все буде Україна!

Вернуться к библиотеке Wire

 

write()

Описание

На ведомом устройстве (Slave) данная функция отправляет данные в ответ на запрос ведущего устройства. На ведущем устройстве (Master) функция добавляет данные в очередь отправки для последующей передачи ведомому устройству (в этом случае функция write() должна вызываться между beginTransmission() и endTransmission()).

Синтаксис

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

Параметры

value: значение, которое необходимо отправить в виде одиночного байта

string: строка, которую необходимо отправить в виде последовательности байт

data: массив данных, который необходимо отправить в виде нескольких байт

length: количество передаваемых байт

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

byte

Функция write() возвращает количество записанных байт. Считывание этого значения не обязательно

Пример

#include <Wire.h>

byte val = 0;

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

void loop()
{
  Wire.beginTransmission(44); // начинаем процедуру передачи устройству с адресом #44 (0x2c)
                              // адрес устройства указан в даташите
  Wire.write(val);             // отправляем байт данных
  Wire.endTransmission();     // завершаем процедуру передачи

  val++;        // увеличиваем значение
  if(val == 64) // при достижении значения 64 (максимум)
  {
    val = 0;    // начинаем счет заново
  }
  delay(500);
}

Смотрите также