Compartir a través de


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

Consulte también