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 転送モード。
- 1 つまたは 2 つの転送フェーズ (書き込み フェーズ、その後にオプションの 読み取り フェーズ)。
- 指定されたマルチ SPI モードに切り替える前に、シングル SPI モードで 書き込み フェーズの開始時に送信される可変バイト数。
- 読み取り フェーズが提供される場合、書き込みと読み取り フェーズの間で 待機サイクルの可変数 (データが転送されないクロック サイクル) です。
この構造体には、次の制限が適用されます。
- 要求の TransferPhases 構造体には、1 つまたは 2 つのエントリを正確に含める必要があります。 最初のエントリは、デバイスに書き込むデータを含むバッファーを記述します。 2 番目の省略可能なエントリは、デバイスから読み取られたデータを保持するために使用されるバッファーを表します。
- これらの TransferPhases の方向は、それぞれ spbTransferDirectionToDevice と SpbTransferDirectionFromDevice に設定する必要があります。
- 転送リスト内の各 SPB_TRANSFER_LIST_ENTRY 構造体は、DelayInUs 0 の値を指定する必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | spb.h |