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_TRANSFER 或 SPB_MULTI_SPI_READ_TRANSFER),则必须使用 SPB_MULTI_SPI_TRANSFER_INIT 帮助程序函数对其进行初始化。
此结构(和关联的标头)允许指定以下内容:
- 双或象限 SPI 传输模式。
- 一个或两个传输阶段 - 写入 阶段,后跟可选的 读取 阶段。
- 在切换到指定的多 SPI 模式之前,在 写入 阶段开始时要传输的可变字节数。
- 其中提供了 读取 阶段,写入 和 读取 阶段之间的可变数量的 等待 周期数 -时钟周期,其中不传输任何数据。
以下限制适用于此结构:
- 请求中的 TransferPhases 结构必须正好包含一两个条目。 第一个条目描述包含要写入到设备的数据的缓冲区。 第二个可选条目描述用于保存从设备读取的数据的缓冲区。
- 这些 TransferPhases 的方向应分别设置为 SpbTransferDirectionToDevice 和 SpbTransferDirectionFromDevice。
- 传输列表中的每个 SPB_TRANSFER_LIST_ENTRY 结构都必须指定 DelayInUs 值为零。
要求
要求 | 价值 |
---|---|
标头 | spb.h |