Бөлісу құралы:


Функция 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 манифеста приложения.