Condividi tramite


struttura SPB_MULTI_SPI_TRANSFER (spb.h)

La struttura SPB_MULTI_SPI_TRANSFER descrive un'operazione di I/O SPI spi che deve essere eseguita usando una modalità di trasferimento multi-SPI, ad esempio Dual o Quad SPI.

Sintassi

typedef struct SPB_MULTI_SPI_TRANSFER {
  SPB_MULTI_SPI_TRANSFER_HEADER Header;
  ULONG                         TransferPhaseCount;
  SPB_TRANSFER_LIST_ENTRY       TransferPhases[1];
} SPB_MULTI_SPI_TRANSFER, *PSPB_MULTI_SPI_TRANSFER;

Membri

Header

Struttura SPB_MULTI_SPI_TRANSFER_HEADER contenente i parametri del trasferimento.

TransferPhaseCount

Numero di fasi di trasferimento presenti nella struttura di trasferimento. Per un'operazione di lettura, deve essere impostato su 2 (che rappresenta una fase di lettura, quindi una fase di scrittura). Per un'operazione di scrittura, deve essere impostata su 1 (che rappresenta esclusivamente una fase di scrittura).

TransferPhases[1]

Matrice di strutture SPB_TRANSFER_LIST_ENTRY, che rappresenta le fasi del trasferimento.

Osservazioni

Se questa struttura viene usata direttamente (anziché SPB_MULTI_SPI_WRITE_TRANSFER o SPB_MULTI_SPI_READ_TRANSFER), deve essere inizializzata usando la funzione helper SPB_MULTI_SPI_TRANSFER_INIT.

Questa struttura (e l'intestazione associata) consente di specificare quanto segue:

  • Modalità di trasferimento SPI dual o quad.
  • Una o due fasi di trasferimento: una fase di scrittura , seguita da una fase facoltativa di lettura.
  • Numero variabile di byte da trasmettere all'inizio della fase di scrittura fase in modalità SPI singola, prima di passare alla modalità multi-SPI specificata.
  • Quando viene fornita una fase di di lettura, viene fornito un numero variabile di cicli di attesa tra scrittura e fasi di lettura: cicli di clock in cui non devono essere trasferiti dati.

A questa struttura si applicano le restrizioni seguenti:

  • Il TransferPhases struttura nella richiesta deve contenere esattamente una o due voci. La prima voce descrive un buffer che contiene i dati da scrivere nel dispositivo. La seconda voce facoltativa descrive un buffer usato per contenere i dati letti dal dispositivo.
  • La direzione di questi TransferPhases deve essere impostata rispettivamente su SpbTransferDirectionToDevice e SpbTransferDirectionFromDevice.
  • Ogni struttura SPB_TRANSFER_LIST_ENTRY nell'elenco di trasferimento deve specificare un DelayInU valore pari a zero.

Fabbisogno

Requisito Valore
intestazione spb.h

Vedere anche