estructura de SPB_MULTI_SPI_TRANSFER (spb.h)
La estructura de SPB_MULTI_SPI_TRANSFER describe una operación de E/S SPI que se va a ejecutar mediante un modo de transferencia multi-SPI, como Dual o Quad SPI.
Sintaxis
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;
Miembros
Header
Estructura SPB_MULTI_SPI_TRANSFER_HEADER que contiene los parámetros de la transferencia.
TransferPhaseCount
Número de fases de transferencia presentes en la estructura de transferencia. Para una operación de lectura, debe establecerse en 2 (que representa una fase de lectura y, a continuación, una fase de escritura). Para una operación de escritura, debe establecerse en 1 (que representa únicamente una fase de escritura).
TransferPhases[1]
Matriz de estructuras de SPB_TRANSFER_LIST_ENTRY , que representa las fases de la transferencia.
Comentarios
Si esta estructura se usa directamente (en lugar de SPB_MULTI_SPI_WRITE_TRANSFER o SPB_MULTI_SPI_READ_TRANSFER), se debe inicializar mediante la función auxiliar SPB_MULTI_SPI_TRANSFER_INIT .
Esta estructura (y el encabezado asociado) permite especificar lo siguiente:
- Modos de transferencia de SPI dual o cuádruple.
- Una o dos fases de transferencia: una fase de escritura , seguida de una fase de lectura opcional.
- Número variable de bytes que se van a transmitir al principio de la fase de escritura en modo SPI único, antes de cambiar al modo multi-SPI especificado.
- Donde se proporciona una fase de lectura , un número variable de ciclos de espera entre fases de escritura y lectura : ciclos de reloj donde no se van a transferir datos.
Las siguientes restricciones se aplican a esta estructura:
- La estructura TransferPhases de la solicitud debe contener exactamente una o dos entradas. La primera entrada describe un búfer que contiene datos que se van a escribir en el dispositivo. La segunda entrada, opcional, describe un búfer usado para contener los datos leídos desde el dispositivo.
- La dirección de estos TransferPhases debe establecerse en SpbTransferDirectionToDevice y SpbTransferDirectionFromDevice respectivamente.
- Cada estructura SPB_TRANSFER_LIST_ENTRY de la lista de transferencias debe especificar un valor DelayInUs de cero.
Requisitos
Requisito | Valor |
---|---|
Header | spb.h |