Wire.requestFrom()
Описание
Функция запрашивает данные у ведомого устройства (slave); как правило, используется только ведущим устройством (Master). После вызова requestFrom() запрашиваемые данные должны быть считаны с помощью функций available() и read().
Начиная с версии Ардуино 1.0.1, функция requestFrom() может принимать третий параметр - логическое значение, обеспечивающее лучшую совместимость с некоторыми I2C-устройствами.
Если этот параметр равен true, то функция requestFrom() отправит запрос со стоповым битом, что позволит освободить шину I2C.
Если этот параметр равен false, то после отправки запроса шина по прежнему будет занята, что предотвратит отправку посторонних сообщений другими ведущими устройствами. Этот режим позволяет Мастеру отправлять по несколько запросов за один сеанс.
Значение по умолчанию - true.
Синтаксис
Wire.requestFrom(address, quantity) Wire.requestFrom(address, quantity, stop)
Параметры
address: 7-битный адрес ведомого устройства, у которого запрашиваются данные
quantity: количество запрашиваемых байт
stop: boolean. При значении true будет отправлен запрос со стоповым битом, что позволит освободить шину. При значении false - соединение будет поддерживаться в активном состоянии.
Возвращаемые значения
byte : количество байт, возвращенных ведомым устройством