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 |