Função I2CMaster_Write
Cabeçalho: #include <applibs/i2c.h>
Efetua uma operação de escrita numa interface mestra I2C. Esta função fornece a mesma funcionalidade que a função POSIX write(), 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 ficheiros da interface mestra I2C.address
O endereço do dispositivo I2C subordinado que é o destino da operação.data
Os dados a transmitir para o dispositivo de destino. Este valor pode ser NULO se o comprimento for 0.length
O tamanho dos dados a transmitir. Este valor pode ser 0.
Erros
Devolve -1 se for encontrado um erro e define errno
para o valor de erro.
EBUSY: a interface está ocupada ou a linha I2C está a ser mantida baixa.
ENXIO: a operação não recebeu uma ACK do dispositivo subordinado.
ETIMEDOUT: a operação excedeu o limite de tempo antes de ser concluída; pode chamar a função I2CMaster_SetTimeout para ajustar a duração do tempo limite.
Também pode ser especificado qualquer outro errno
; esses erros não são deterministas e o mesmo comportamento pode não ser retido através de atualizações do sistema.
Valor devolvido
Devolve o número de bytes escritos com êxito ou -1 para a falha, caso errno
em que será definido como o valor de erro. Uma escrita parcial, incluindo uma escrita de 0 bytes, é considerada um sucesso.
Requisitos do manifesto de aplicação
Para aceder a uma interface I2c, a sua aplicação tem de identificá-la no campo I2cMaster do manifesto da aplicação.