struttura SPB_MULTI_SPI_TRANSFER (spb.h)
La struttura SPB_MULTI_SPI_TRANSFER descrive un'operazione di I/O 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;
Members
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 impostato su 1 (che rappresenta esclusivamente una fase di scrittura).
TransferPhases[1]
Matrice di strutture SPB_TRANSFER_LIST_ENTRY , che rappresenta le fasi del trasferimento.
Commenti
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 di lettura facoltativa.
- Numero variabile di byte da trasmettere all'inizio della fase di scrittura in modalità SPI singolo, prima di passare alla modalità multi-SPI specificata.
- Quando viene fornita una fase di lettura , viene fornito un numero variabile di cicli di attesa tra le fasi di scrittura e lettura , ovvero i cicli di clock in cui non è necessario trasferire dati.
A questa struttura si applicano le restrizioni seguenti:
- La struttura TransferPhases nella richiesta deve contenere esattamente una o due voci. La prima voce descrive un buffer che contiene 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 valore DelayInUs pari a zero.
Requisiti
Requisito | Valore |
---|---|
Intestazione | spb.h |