次の方法で共有


SPB_MULTI_SPI_TRANSFER構造体 (spb.h)

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 転送モード。
  • 1 つまたは 2 つの転送フェーズ (書き込み フェーズ、その後にオプションの 読み取り フェーズ)。
  • 指定されたマルチ SPI モードに切り替える前に、シングル SPI モードで 書き込み フェーズの開始時に送信される可変バイト数。
  • 読み取り フェーズが提供される場合、書き込みと読み取り フェーズの間で 待機サイクルの可変数 (データが転送されないクロック サイクル) です。

この構造体には、次の制限が適用されます。

  • 要求の TransferPhases 構造体には、1 つまたは 2 つのエントリを正確に含める必要があります。 最初のエントリは、デバイスに書き込むデータを含むバッファーを記述します。 2 番目の省略可能なエントリは、デバイスから読み取られたデータを保持するために使用されるバッファーを表します。
  • これらの TransferPhases の方向は、それぞれ spbTransferDirectionToDevice SpbTransferDirectionFromDevice に設定する必要があります。
  • 転送リスト内の各 SPB_TRANSFER_LIST_ENTRY 構造体は、DelayInUs 0 の値を指定する必要があります。

必要条件

要件 価値
ヘッダー spb.h

関連項目