Función I2CMaster_Write
Encabezado: #include <applibs/i2c.h>
Realiza una operación de escritura en una interfaz maestra I2C. Esta función proporciona la misma funcionalidad que la función write(), excepto que especifica la dirección del dispositivo I2C subordinado que es el destino de la operación.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Parámetros
fd
Descriptor de archivo para la interfaz maestra I2C.address
La dirección del dispositivo I2C subordinado que es el destino de la operación.data
Los datos que se transmitirán al dispositivo de destino. Este valor puede ser NULL si la longitud es 0.length
El tamaño de los datos que se transmitirán. Este valor puede ser 0.
Errores
Devuelve -1 si se encuentra un error y se establece errno
en el valor de error.
EBUSY: la interfaz está ocupada o la línea I2C se mantiene baja.
ENXIO: la operación no recibió un ACK del dispositivo subordinado.
ETIMEDOUT: se ha agotado el tiempo de finalización de la operación; puede llamar a la función I2CMaster_SetTimeout para ajustar la duración del tiempo de espera.
También se pueden especificar otros errno
errores; estos errores no son deterministas y es posible que no se conserve el mismo comportamiento a través de las actualizaciones del sistema.
Valor devuelto
Devuelve el número de bytes escritos correctamente o -1 en caso de error, en cuyo caso errno
se establecerá en el valor de error. Una escritura parcial, incluida una escritura de 0 bytes, se considera un éxito.
Requisitos del manifiesto de la aplicación
Para acceder a una interfaz I2c, la aplicación debe identificarla en el campo I2cMaster del manifiesto de la aplicación.