次の方法で共有


SPB_MULTI_SPI_TRANSFER 構造体 (spb.h)

SPB_MULTI_SPI_TRANSFER構造では、デュアル SPI や Quad 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 の方向は、それぞれ SpbTransferDirectionToDeviceSpbTransferDirectionFromDevice に設定する必要があります。
  • 転送リスト 内の各SPB_TRANSFER_LIST_ENTRY 構造体では、 DelayInUs 値を 0 に指定する必要があります。

要件

要件
Header spb.h

こちらもご覧ください