Arduino:Библиотеки/Wire/write(): различия между версиями
Материал из Онлайн справочника
< Arduino:Библиотеки | Wire
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Arduino панель перехода}} | {{Arduino панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
Строка 70: | Строка 70: | ||
<references /> | <references /> | ||
[[Категория:Стандартные библиотеки]] | [[Категория:Стандартные библиотеки]] |
Версия от 11:17, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция 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);
}
См.также
- WireRead()
- WireBeginTransmission()
- WireEndTransmission()
- Serial.write()