Funzione SPIMaster_TransferSequentialSPIMaster_TransferSequential Function

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

Esegue una sequenza di trasferimenti in lettura o in scrittura half-duplex usando l'interfaccia master SPI.Performs a sequence of half-duplex read or write transfers 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. Questa funzione non supporta operazioni simultanee di lettura e scrittura in un singolo trasferimento.This function does not support simultaneously reading and writing in a single transfer.

static inline ssize_t SPIMaster_TransferSequential(int fd, const SPIMaster_Transfer *transfers, size_t transferCount);

ParametriParameters

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

  • transfers Una matrice di struct SPIMaster_Transfer che specificano le operazioni di trasferimento.transfers An array of SPIMaster_Transfer structures that specify the transfer operations. Prima di compilare la matrice, è necessario chiamare SPIMaster_InitTransfers per inizializzarla con le impostazioni predefinite.You must call SPIMaster_InitTransfers to initialize the array with default settings before filling it.

  • transferCount Il numero di struct del trasferimento nella matrice transfers.transferCount The number of transfer structures in the transfers array.

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_TransferSequential è limitata a un massimo di 4096 byte per la lettura e 4096 byte per la scrittura, indipendentemente dal numero di trasferimenti effettivi.Each call to SPIMaster_TransferSequential is limited to at most 4096 bytes to read, and 4096 bytes to write, independent of the number of actual transfers. 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.