I2CMaster_Write, fonction
En-tête : #include <applibs/i2c.h>
Effectue une opération d’écriture sur une interface de master I2C. Cette fonction fournit les mêmes fonctionnalités que la fonction POSIX write(), sauf qu’elle spécifie l’adresse de l’appareil I2C subordonné qui est la cible de l’opération.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Paramètres
fd
Descripteur de fichier pour l’interface de master I2C.address
Adresse de l’appareil I2C subordonné qui est la cible de l’opération.data
Données à transmettre à l’appareil cible. Cette valeur peut être NULL si la longueur est égale à 0.length
Taille des données à transmettre. Cette valeur peut être 0.
Erreurs
Retourne -1 si une erreur est rencontrée et définit errno
sur la valeur d’erreur.
EBUSY : l’interface est occupée ou la ligne I2C est maintenue bas.
ENXIO : l’opération n’a pas reçu d’ACK de l’appareil subordonné.
ETIMEDOUT : l’opération a expiré avant de se terminer; vous pouvez appeler la fonction I2CMaster_SetTimeout pour ajuster la durée du délai d’expiration.
Toutes les autres errno
peuvent également être spécifiées ; ces erreurs ne sont pas déterministes et le même comportement peut ne pas être conservé par le biais des mises à jour système.
Valeur de retour
Retourne le nombre d’octets correctement écrits, ou -1 en cas d’échec, auquel cas errno
est défini sur la valeur d’erreur. Une écriture partielle, y compris une écriture de 0 octet, est considérée comme un succès.
Exigences du manifeste d’application
Pour accéder à une interface I2c, votre application doit l’identifier dans le champ I2cMaster du manifeste de l’application.