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); }