SPB_MULTI_SPI_TRANSFER-Struktur (spb.h)
Die SPB_MULTI_SPI_TRANSFER-Struktur beschreibt einen SPI-E/A-Vorgang, der mit einem Multi-SPI-Übertragungsmodus wie Dual oder Quad SPI ausgeführt werden soll.
Syntax
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;
Member
Header
Eine SPB_MULTI_SPI_TRANSFER_HEADER Struktur, die die Parameter der Übertragung enthält.
TransferPhaseCount
Die Anzahl der in der Transferstruktur vorhandenen Transferphasen. Bei einem Lesevorgang sollte dies auf 2 festgelegt werden (für eine Lesephase und dann für eine Schreibphase). Für einen Schreibvorgang sollte dies auf 1 festgelegt werden (was nur eine Schreibphase darstellt).
TransferPhases[1]
Ein Array von SPB_TRANSFER_LIST_ENTRY Strukturen, die die Phasen der Übertragung darstellen.
Hinweise
Wenn diese Struktur direkt verwendet wird (anstatt SPB_MULTI_SPI_WRITE_TRANSFER oder SPB_MULTI_SPI_READ_TRANSFER), muss sie mithilfe der SPB_MULTI_SPI_TRANSFER_INIT Hilfsfunktion initialisiert werden.
Mit dieser Struktur (und dem zugeordneten Header) kann Folgendes angegeben werden:
- Dual- oder Quad-SPI-Übertragungsmodi.
- Eine oder zwei Transferphasen – eine Schreibphase , gefolgt von einer optionalen Lesephase .
- Eine variable Anzahl von Bytes, die zu Beginn der Schreibphase im Single-SPI-Modus übertragen werden sollen, bevor sie in den angegebenen Multi-SPI-Modus wechseln.
- Wenn eine Lesephase bereitgestellt wird, eine variable Anzahl von Wartezyklen zwischen Schreib- und Lesephasen – Taktzyklen, bei denen keine Daten übertragen werden sollen.
Für diese Struktur gelten die folgenden Einschränkungen:
- Die TransferPhases-Struktur in der Anforderung muss genau einen oder zwei Einträge enthalten. Der erste Eintrag beschreibt einen Puffer, der Daten enthält, die auf das Gerät geschrieben werden sollen. Der zweite optionale Eintrag beschreibt einen Puffer, der verwendet wird, um vom Gerät gelesene Daten zu halten.
- Die Richtung dieser TransferPhasen sollte auf SpbTransferDirectionToDevice bzw . SpbTransferDirectionFromDevice festgelegt werden.
- Jede SPB_TRANSFER_LIST_ENTRY Struktur in der Übertragungsliste muss einen DelayInUs-Wert von 0 angeben.
Anforderungen
Anforderung | Wert |
---|---|
Header | spb.h |