Funzione SPIMaster_WriteThenReadSPIMaster_WriteThenRead Function

Intestazione: #include <applibs/spi.h>Header: #include <applibs/spi.h>

Esegue una sequenza di scritture half-duplex immediatamente seguita da una lettura half-duplex usando l'interfaccia master SPI.Performs a sequence of a half-duplex writes immediately followed by a half-duplex read using the SPI master interface. Questa funzione abilita selezion chip una volta prima della sequenza e la disabilita al termine.This function enables chip select once before the sequence, and disables it when it ends.

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

ParametriParameters

  • fd Il descrittore del file per l'interfaccia master SPI.fd The file descriptor for the SPI master interface.

  • writeData I dati da scrivere.writeData The data to write.

  • lenWriteData Il numero di byte da scrivere.lenWriteData The number of bytes to write.

  • readData Il buffer di output che riceve i dati.readData The output buffer that receives the data. Le dimensioni di questo buffer devono essere sufficienti per ricevere fino a lenReadData byte.This buffer must must be large enough to receive up to lenReadData bytes.

  • lenReadData Il numero di byte da leggere.lenReadData The number of bytes to read.

Valore restituitoReturn value

Restituisce il numero di byte trasferiti; oppure-1 per l'errore, nel qual caso errno viene impostato sul valore di errore.Returns the number of bytes transferred; or -1 for failure, in which case errno is set to the error value.

OsservazioniRemarks

Ogni chiamata a SPIMaster_WriteThenRead è limitata a un massimo di 4096 byte per la lettura e 4096 byte per la scrittura.Each call to SPIMaster_WriteThenRead is limited to at most 4096 bytes to read, and 4096 bytes to write. Per trasferire dati aggiuntivi, è necessario chiamare più volte questa funzione.To transfer additional data, you need to call this function multiple times. Si noti che la selezione del chip deve essere dichiarata più volte in questo caso.Note that chip select will be asserted multiple times in this case.

Requisiti del manifesto dell'applicazioneApplication manifest requirements

Per accedere alle singole interfacce SPI, l'applicazione deve identificarle nel campo SpiMaster del manifesto dell'applicazione.To access individual SPI interfaces, your application must identify them in the SpiMaster field of the application manifest.