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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
 
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}

Версия от 11:26, 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()

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