I2CMaster_Write 函数
标头: #include <applibs/i2c.h>
在 I2C 主接口上执行写入操作。 此函数提供与 POSIX write () 函数相同的功能,只不过它指定作为操作目标的从属 I2C 设备的地址。
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
参数
fd
I2C 主接口的文件描述符。address
作为操作目标的从属 I2C 设备的 地址 。data
要传输到目标设备的数据。 如果长度为 0,则此值可以为 NULL。length
要传输的数据的大小。 此值可以为 0。
错误
如果遇到错误并设置为 errno
错误值,则返回 -1。
EBUSY:接口繁忙或 I2C 线路处于低位。
ENXIO:操作未从从属设备收到 ACK。
ETIMEDOUT:操作在完成前超时;可以调用 I2CMaster_SetTimeout 函数来调整超时持续时间。
还可以指定任何其他 errno
错误;此类错误不是确定性的,并且可能不会通过系统更新保留相同的行为。
返回值
返回成功写入的字节数,如果失败,则返回 -1,在这种情况下 errno
,将设置为错误值。 部分写入(包括 0 个字节的写入)被视为成功。
应用程序清单要求
若要访问 I2c 接口,应用程序必须在 应用程序清单的 I2cMaster 字段中标识它。