Arduino:Справочник языка Arduino/Библиотеки/Wire/requestFrom(): различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c">» на «<syntaxhighlight lang="c" enclose="div">») |
Нет описания правки |
||
Строка 18: | Строка 18: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <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 | <syntaxhighlight lang="c"> | ||
address — 7-битный адрес девайса, у которого запрашиваются байты. | address — 7-битный адрес девайса, у которого запрашиваются байты. | ||
quantity — количество запрашиваемых байтов. | quantity — количество запрашиваемых байтов. | ||
Строка 33: | Строка 33: | ||
==Что возвращает== | ==Что возвращает== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Количество байтов, возвращенных от ведомого устройства. | Количество байтов, возвращенных от ведомого устройства. | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия от 18:33, 14 мая 2023
{{#setlogo:ArduinoCommunityLogo.png}}
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция 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, после запроса будут постоянно отправляться сообщения, благодаря чему соединение будет оставаться в активном состоянии.
Что возвращает
Количество байтов, возвращенных от ведомого устройства.
См.также
- Wire.available()
- Wire.read()