Funzione SPIMaster_WriteThenRead

Intestazione: #include <applicazioni/spi.h>

Esegue una sequenza di scrittura half-duplex immediatamente seguita da una lettura half-duplex utilizzando l'interfaccia master SPI. Questa funzione consente la selezione del chip una volta prima della sequenza e la disabilita al termine.

static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);

Parametri

  • fd Descrittore di file per l'interfaccia master SPI.

  • writeData Dati da scrivere.

  • lenWriteData Numero di byte da scrivere.

  • readData Buffer di output che riceve i dati. Questo buffer deve essere sufficientemente grande da ricevere fino a lenReadData byte.

  • lenReadData Numero di byte da leggere.

Valore restituito

Restituisce il numero di byte trasferiti; o -1 per errore, nel qual caso errno è impostato sul valore di errore.

Osservazioni

Ogni chiamata a SPIMaster_WriteThenRead è limitata al massimo a 4096 byte da leggere e 4096 byte da scrivere. Per trasferire dati aggiuntivi, è necessario chiamare questa funzione più volte. Nota che la selezione del chip verrà asserita più volte in questo caso.

Requisiti del manifesto dell'applicazione

Per accedere a singole interfacce SPI, l'applicazione deve identificarle nel campo SpiMaster del manifesto dell'applicazione.