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