SPIMaster_WriteThenRead, fonction
En-tête : #include <applibs/spi.h>
Effectue une séquence d’écritures semi-duplex immédiatement suivies d’une lecture semi-duplex à l’aide de l’interface spi master. Cette fonction active la sélection de puce une fois avant la séquence et la désactive lorsqu’elle se termine.
static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);
Paramètres
fd
Descripteur de fichier pour l’interface spi master.writeData
Données à écrire.lenWriteData
Nombre d’octets à écrire.readData
Mémoire tampon de sortie qui reçoit les données. Cette mémoire tampon doit être suffisamment grande pour recevoir jusqu’àlenReadData
des octets.lenReadData
Nombre d’octets à lire.
Valeur de retour
Retourne le nombre d’octets transférés ; ou -1 en cas d’échec, auquel cas errno
est défini sur la valeur d’erreur.
Remarques
Chaque appel à SPIMaster_WriteThenRead est limité à au maximum 4 096 octets à lire et à 4 096 octets à écrire. Pour transférer des données supplémentaires, vous devez appeler cette fonction plusieurs fois. Notez que la sélection de puce sera déclarée plusieurs fois dans ce cas.
Exigences du manifeste d’application
Pour accéder à des interfaces SPI individuelles, votre application doit les identifier dans le champ SpiMaster du manifeste de l’application.