Função I2CMaster_Write
Cabeçalho: #include <applibs/i2c.h>
Executa uma operação de gravação em uma interface de master I2C. Essa função fornece a mesma funcionalidade que a função WRITE() POSIX, exceto que especifica o endereço do dispositivo I2C subordinado que é o destino da operação.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Parâmetros
fd
O descritor de arquivo para a interface do master I2C.address
O endereço do dispositivo I2C subordinado que é o destino da operação.data
Os dados a serem transmitidos para o dispositivo de destino. Esse valor pode ser NULL se o comprimento for 0.length
O tamanho dos dados a serem transmitidos. Esse valor pode ser 0.
Erros
Retorna -1 se um erro for encontrado e definir errno
como o valor do erro.
EBUSY: a interface está ocupada ou a linha I2C está sendo mantida baixa.
ENXIO: a operação não recebeu um ACK do dispositivo subordinado.
ETIMEDOUT: a operação tempo limite antes de ser concluída; você pode chamar a função I2CMaster_SetTimeout para ajustar a duração do tempo limite.
Qualquer outro errno
também pode ser especificado; esses erros não são determinísticos e o mesmo comportamento pode não ser mantido por meio de atualizações do sistema.
Valor retornado
Retorna o número de bytes gravados com êxito ou -1 para falha, nesse caso errno
, será definido como o valor do erro. Uma gravação parcial, incluindo uma gravação de 0 bytes, é considerada um sucesso.
Requisitos de manifesto do aplicativo
Para acessar uma interface I2c, seu aplicativo deve identificá-la no campo I2cMaster do manifesto do aplicativo.