structure SPB_MULTI_SPI_TRANSFER (spb.h)
La structure SPB_MULTI_SPI_TRANSFER décrit une opération d’E/S SPI qui doit être exécutée à l’aide d’un mode de transfert multi-SPI tel que Double ou Quad SPI.
Syntaxe
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;
Membres
Header
Structure SPB_MULTI_SPI_TRANSFER_HEADER contenant les paramètres du transfert.
TransferPhaseCount
Nombre de phases de transfert présentes dans la structure de transfert. Pour une opération de lecture, cette valeur doit être définie sur 2 (représentant une phase de lecture, puis une phase d’écriture). Pour une opération d’écriture, cette valeur doit être définie sur 1 (représentant uniquement une phase d’écriture).
TransferPhases[1]
Tableau de structures SPB_TRANSFER_LIST_ENTRY , représentant les phases du transfert.
Remarques
Si cette structure est utilisée directement (plutôt que SPB_MULTI_SPI_WRITE_TRANSFER ou SPB_MULTI_SPI_READ_TRANSFER), elle doit être initialisée à l’aide de la fonction d’assistance SPB_MULTI_SPI_TRANSFER_INIT .
Cette structure (et l’en-tête associé) permet de spécifier les éléments suivants :
- Modes de transfert SPI double ou quad.
- Une ou deux phases de transfert : une phase d’écriture , suivie d’une phase de lecture facultative.
- Nombre variable d’octets à transmettre au début de la phase d’écriture en mode SPI unique, avant de basculer vers le mode multi-SPI spécifié.
- Lorsqu’une phase de lecture est fournie, un nombre variable de cycles d’attente entre les phases d’écriture et de lecture - cycles d’horloge où aucune donnée ne doit être transférée.
Les restrictions suivantes s’appliquent à cette structure :
- La structure TransferPhases de la requête doit contenir exactement une ou deux entrées. La première entrée décrit une mémoire tampon qui contient des données à écrire sur l’appareil. La deuxième entrée, facultative, décrit une mémoire tampon utilisée pour contenir les données lues à partir de l’appareil.
- La direction de ces TransferPhases doit être définie sur SpbTransferDirectionToDevice et SpbTransferDirectionFromDevice respectivement.
- Chaque structure SPB_TRANSFER_LIST_ENTRY dans la liste de transferts doit spécifier une valeur DelayInUs de zéro.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | spb.h |