Arduino:Библиотеки/Wire/requestFrom()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


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

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

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

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

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

По умолчанию стоит аргумент true.

Синтаксис

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

Параметры

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

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

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

См.также

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

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