Arduino:Справочник языка Arduino/Библиотеки/Wire/endTransmission(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c">» на «<syntaxhighlight lang="c" enclose="div">»)
 
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
 
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
Строка 20: Строка 20:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Wire.endTransmission()
Wire.endTransmission()
Wire.endTransmission(stop)
Wire.endTransmission(stop)
Строка 27: Строка 27:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
stop — булев аргумент. Если поставить true, после передачи данных будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после передачи данных будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии.
stop — булев аргумент. Если поставить true, после передачи данных будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после передачи данных будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии.
</syntaxhighlight>
</syntaxhighlight>
Строка 33: Строка 33:
==Что возвращает==
==Что возвращает==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Байт, сообщающий о статусе передачи данных:
Байт, сообщающий о статусе передачи данных:
0 — успешно
0 — успешно
Строка 50: Строка 50:


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]

Текущая версия от 12:44, 8 июля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция 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  другая ошибка

См.также

  1. Wire.beginTransmission()
  2. Wire.write()

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