Функция I2CMaster_Write
Заголовок: #include <applibs/i2c.h>
Выполняет операцию записи в интерфейсе I2C master. Эта функция предоставляет те же функции, что и функция ЗАПИСИ POSIX, за исключением того, что она указывает адрес подчиненного устройства I2C, являющегося целевым объектом операции.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Параметры
fd
Дескриптор файла для интерфейса I2C master.address
Адрес подчиненного устройства I2C, которое является целевым объектом для операции.data
Данные для передачи на целевое устройство. Это значение может иметь значение NULL, если длина равна 0.length
Размер передаваемых данных. Это значение может быть равно 0.
Ошибки
Возвращает значение -1 при обнаружении ошибки и задает errno
значение ошибки.
EBUSY: интерфейс занят или линия I2C удерживается на низком уровне.
ENXIO: операция не получила ACK от подчиненного устройства.
ETIMEDOUT: время ожидания операции истекло до завершения; Вы можете вызвать функцию I2CMaster_SetTimeout , чтобы настроить время ожидания.
Можно также указать любой другой errno
. Такие ошибки не являются детерминированными, и такое же поведение может не сохраняться при обновлении системы.
Возвращаемое значение
Возвращает число успешно записанных байтов или -1 для сбоя. В этом случае errno
будет задано значение ошибки. Частичная запись, включая запись в 0 байтов, считается успешной.
Требования к манифесту приложения
Чтобы получить доступ к интерфейсу I2c, приложение должно определить его в поле I2cMaster манифеста приложения.