Partage via


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

  • fdDescripteur 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.