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

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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Wire.requestFrom(address, quantity)
Wire.requestFrom(address, quantity)
Wire.requestFrom(address, quantity, stop)
Wire.requestFrom(address, quantity, stop)
Строка 25: Строка 25:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
address — 7-битный адрес девайса, у которого запрашиваются байты.
address — 7-битный адрес девайса, у которого запрашиваются байты.
quantity — количество запрашиваемых байтов.
quantity — количество запрашиваемых байтов.
Строка 33: Строка 33:
==Что возвращает==
==Что возвращает==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Количество байтов, возвращенных от ведомого устройства.
Количество байтов, возвращенных от ведомого устройства.
</syntaxhighlight>
</syntaxhighlight>
Строка 45: Строка 45:


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

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

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


Функция Wire.requestFrom()[1]

Используется ведущим устройством, чтобы запрашивать байты у ведомого устройства. Получение этих байтов осуществляется при помощи функций available() и read().

Начиная с Arduino 1.0.1 функция requestFrom() может работать с булевыми аргументами, меняя свое поведение, чтобы обрести совместимость с теми или иными I2C-девайсами.

Если поставить true, то requestFrom(), осуществив запрос, отправит стоп-сообщение, высвобождающее I2C-шину.

Если поставить false, то requestFrom(), осуществив запрос, отправит еще одно сообщение. Таким образом, I2C-шина не освободится, и это помешает другому ведущему устройству сделать свой запрос между сообщениями. Благодаря этому ведущее устройство может отправлять по несколько запросов за сессию.

Значение по умолчанию — true.

Синтаксис

Wire.requestFrom(address, quantity)
Wire.requestFrom(address, quantity, stop)

Параметры

address  7-битный адрес девайса, у которого запрашиваются байты.
quantity  количество запрашиваемых байтов.
stop  булев аргумент. Если поставить true, после запроса будет отправлено стоп-сообщение, освобождающее шину. Если поставить false, после запроса будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии.

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

Количество байтов, возвращенных от ведомого устройства.

См.также

  1. Wire.available()
  2. Wire.read()

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