Compartilhar via


estrutura SPB_MULTI_SPI_TRANSFER (spb.h)

A estrutura SPB_MULTI_SPI_TRANSFER descreve uma operação de E/S spi que deve ser executada usando um modo de transferência multi-SPI, como Dual ou Quad SPI.

Sintaxe

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;

Membros

Header

Uma estrutura SPB_MULTI_SPI_TRANSFER_HEADER que contém os parâmetros da transferência.

TransferPhaseCount

O número de fases de transferência presentes na estrutura de transferência. Para uma operação de leitura, isso deve ser definido como 2 (representando uma fase de leitura e, em seguida, uma fase de gravação). Para uma operação de gravação, isso deve ser definido como 1 (representando apenas uma fase de gravação).

TransferPhases[1]

Uma matriz de estruturas SPB_TRANSFER_LIST_ENTRY , representando as fases da transferência.

Comentários

Se essa estrutura for usada diretamente (em vez de SPB_MULTI_SPI_WRITE_TRANSFER ou SPB_MULTI_SPI_READ_TRANSFER), ela deverá ser inicializada usando a função auxiliar SPB_MULTI_SPI_TRANSFER_INIT .

Essa estrutura (e o cabeçalho associado) permite que o seguinte seja especificado:

  • Modos de transferência de SPI duplo ou quádruplo.
  • Uma ou duas fases de transferência : uma fase de gravação , seguida por uma fase de leitura opcional.
  • Um número variável de bytes a serem transmitidos no início da fase de gravação no modo SPI único, antes de alternar para o modo multi-SPI especificado.
  • Quando uma fase de leitura é fornecida, um número variável de ciclos de espera entre as fasesde gravação e leitura – ciclos de relógio em que nenhum dado deve ser transferido.

As seguintes restrições se aplicam a essa estrutura:

  • A estrutura TransferPhases na solicitação deve conter exatamente uma ou duas entradas. A primeira entrada descreve um buffer que contém dados a serem gravados no dispositivo. A segunda entrada opcional descreve um buffer usado para armazenar dados lidos do dispositivo.
  • A direção desses TransferPhases deve ser definida como SpbTransferDirectionToDevice e SpbTransferDirectionFromDevice , respectivamente.
  • Cada estrutura SPB_TRANSFER_LIST_ENTRY na lista de transferência deve especificar um valor DelayInUs igual a zero.

Requisitos

Requisito Valor
Cabeçalho spb.h

Confira também