Arduino:Справочник языка Arduino/Библиотеки/Wire/endTransmission(): различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c">» на «<syntaxhighlight lang="c" enclose="div">») |
Нет описания правки |
||
Строка 20: | Строка 20: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Wire.endTransmission() | Wire.endTransmission() | ||
Wire.endTransmission(stop) | Wire.endTransmission(stop) | ||
Строка 27: | Строка 27: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
stop — булев аргумент. Если поставить true, после передачи данных будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после передачи данных будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии. | stop — булев аргумент. Если поставить true, после передачи данных будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после передачи данных будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 33: | Строка 33: | ||
==Что возвращает== | ==Что возвращает== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Байт, сообщающий о статусе передачи данных: | Байт, сообщающий о статусе передачи данных: | ||
0 — успешно | 0 — успешно |
Версия от 18:32, 14 мая 2023
{{#setlogo:ArduinoCommunityLogo.png}}
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция Wire.endTransmission()[1]
Завершает передачу данных ведомому устройству, которая была запущена функцией beginTransmission(), и очередь из байтов для которой создавалась при помощи функции write().
Начиная с Arduino 1.0.1 функция beginTransmission() может работать с булевыми аргументами, меняя свое поведение, чтобы обрести совместимость с теми или иными I2C-девайсами.
Если поставить true, то beginTransmission(), осуществив передачу данных, отправит стоп-сообщение, высвобождающее I2C-шину.
Если поставить false, то requestFrom(), осуществив передачу данных, перезапустит сообщение. Таким образом, I2C-шина не освободится, и это помешает другому ведущему устройству осуществлять передачу данных между сообщениями.
Благодаря этому ведущее устройство может за одну сессию выполнять сразу несколько передач данных.
Значение по умолчанию — true.
Синтаксис
Wire.endTransmission()
Wire.endTransmission(stop)
Параметры
stop — булев аргумент. Если поставить true, после передачи данных будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после передачи данных будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии.
Что возвращает
Байт, сообщающий о статусе передачи данных:
0 — успешно
1 — данных слишком много, чтобы они могли уместиться в буфер передачи
2 — при передаче адреса получен NACK
3 — при передаче данных получен NACK
4 — другая ошибка
См.также
- Wire.beginTransmission()
- Wire.write()