SPB_MULTI_SPI_TRANSFER结构(spb.h)

SPB_MULTI_SPI_TRANSFER 结构描述了一个 SPI I/O作,该作将使用多 SPI 传输模式(如双 SPI 或 Quad SPI)执行。

语法

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;

成员

Header

包含传输参数的 SPB_MULTI_SPI_TRANSFER_HEADER 结构。

TransferPhaseCount

传输结构中存在的传输阶段数。 对于读取作,应将其设置为 2(表示读取阶段,然后是写入阶段)。 对于写入作,应将其设置为 1(仅表示写入阶段)。

TransferPhases[1]

一个由 SPB_TRANSFER_LIST_ENTRY 结构构成的数组,表示传输的阶段。

言论

如果直接使用此结构(而不是 SPB_MULTI_SPI_WRITE_TRANSFERSPB_MULTI_SPI_READ_TRANSFER),则必须使用 SPB_MULTI_SPI_TRANSFER_INIT 帮助程序函数对其进行初始化。

此结构(和关联的标头)允许指定以下内容:

  • 双或象限 SPI 传输模式。
  • 一个或两个传输阶段 - 写入 阶段,后跟可选的 读取 阶段。
  • 在切换到指定的多 SPI 模式之前,在 写入 阶段开始时要传输的可变字节数。
  • 其中提供了 读取 阶段,写入读取 阶段之间的可变数量的 等待 周期数 -时钟周期,其中不传输任何数据。

以下限制适用于此结构:

  • 请求中的 TransferPhases 结构必须正好包含一两个条目。 第一个条目描述包含要写入到设备的数据的缓冲区。 第二个可选条目描述用于保存从设备读取的数据的缓冲区。
  • 这些 TransferPhases 的方向应分别设置为 SpbTransferDirectionToDeviceSpbTransferDirectionFromDevice
  • 传输列表中的每个 SPB_TRANSFER_LIST_ENTRY 结构都必须指定 DelayInUs 值为零。

要求

要求 价值
标头 spb.h

另请参阅