spb.h) (SPB_MULTI_SPI_TRANSFER 结构

SPB_MULTI_SPI_TRANSFER结构描述了要使用多 SPI 传输模式(如双 SPI 或象限 SPI)执行的 SPI I/O 操作。

语法

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 模式传输的可变字节数,然后切换到指定的多 SPI 模式。
  • 在提供读取阶段的情况下,写入阶段和读取阶段之间的等待周期数可变 - 不传输数据的时钟周期。

以下限制适用于此结构:

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

要求

要求
Header spb.h

另请参阅