Arduino:Справочник языка Arduino/Библиотеки/Wire/write(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">») |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Wire.write(value) | Wire.write(value) | ||
Wire.write(string) | Wire.write(string) | ||
Строка 18: | Строка 18: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
value — значение, отправляемое в виде одного байта | value — значение, отправляемое в виде одного байта | ||
string — строка, отправляемое в виде серии байтов | string — строка, отправляемое в виде серии байтов | ||
Строка 27: | Строка 27: | ||
==Что возвращает== | ==Что возвращает== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Количество переданных байтов. Считывание этих байтов — опционально. | Количество переданных байтов. Считывание этих байтов — опционально. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 33: | Строка 33: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
#include <Wire.h> | #include <Wire.h> | ||
Версия от 18:33, 14 мая 2023
{{#setlogo:ArduinoCommunityLogo.png}}
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция Wire.write()[1]
Передает данные от ведомого устройства к ведущему в ответ на запрос. Также используется в связке с функциями beginTransmission() и endTransmission() — write() вызывается между ними и формирует очередь байтов для последующей передачи данных от ведущего устройства к ведомому.
Синтаксис
Wire.write(value)
Wire.write(string)
Wire.write(data, length)
Параметры
value — значение, отправляемое в виде одного байта
string — строка, отправляемое в виде серии байтов
data — массив данных, отправляемый в виде серии байтов
length — количество передаваемых байтов
Что возвращает
Количество переданных байтов. Считывание этих байтов — опционально.
Пример
#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()