Funzione I2CMaster_Write
Intestazione: #include <applicazioni/i2c.h>
Esegue un'operazione di scrittura su un'interfaccia master I2C. Questa funzione fornisce la stessa funzionalità della funzione POSIX write(), con la differenza che specifica l'indirizzo del dispositivo I2C subordinato che è la destinazione dell'operazione.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Parametri
fd
Descrittore di file per l'interfaccia master I2C.address
Indirizzo del dispositivo I2C subordinato che rappresenta la destinazione dell'operazione.data
I dati da trasmettere al dispositivo di destinazione. Questo valore può essere NULL se la lunghezza è 0.length
Le dimensioni dei dati da trasmettere. Questo valore può essere 0.
Errori
Restituisce -1 se si verifica un errore e imposta errno
il valore di errore.
EBUSY: l'interfaccia è occupata o la linea I2C è bassa.
ENXIO: l'operazione non ha ricevuto un ACK dal dispositivo subordinato.
ETIMEDOUT: timeout dell'operazione prima del completamento; puoi chiamare la funzione I2CMaster_SetTimeout per modificare la durata del timeout.
Potrebbero anche essere specificati altri errno
errori. Tali errori non sono deterministici e lo stesso comportamento potrebbe non essere mantenuto tramite gli aggiornamenti di sistema.
Valore restituito
Restituisce il numero di byte scritti correttamente oppure -1 per l'errore, nel qual caso errno
verrà impostato sul valore di errore. Una scrittura parziale, compresa una scrittura di 0 byte, è considerata un successo.
Requisiti del manifesto dell'applicazione
Per accedere a un'interfaccia I2c, l'applicazione deve identificarla nel campo I2cMaster del manifesto dell'applicazione.