Arduino:Библиотеки/Wire/write()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

{{#setlogo:ArduinoCommunityLogo.png}}

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция write()[1]

Записывает данные от ведомого устройства в ответ на запрос от ведущего устройства. Также ставит байты в очередь для передачи от ведущего устройства на ведомое. Ставится в промежутке между функциями beginTransmission() и endTransmission().

Синтаксис

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

Параметры

value  значение, отсылаемое в виде одного байта
string  строка, отсылаемая в виде серии байтов
data  массив данных, отсылаемый в виде нескольких байтов
length  количество байтов, которые нужно отправить

Что возвращает

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

Пример

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

См.также

  1. WireRead()
  2. WireBeginTransmission()
  3. WireEndTransmission()
  4. Serial.write()

Внешние ссылки