次の方法で共有


SPIMaster_TransferSequential関数

ヘッダー: applibs </spi.h #include>

SPI マスター インターフェイスを使用して、半二重の読み取りまたは書き込み転送のシーケンスを実行します。 この機能により、シーケンスの前にチップ選択が 1 回有効になり、終了時に無効になります。 この関数は、1 回の転送での同時読み取りと書き込みをサポートしていません。

static inline ssize_t SPIMaster_TransferSequential(int fd, const SPIMaster_Transfer *transfers, size_t transferCount);

パラメーター

  • fd SPI マスター インターフェイスのファイル記述子。

  • transfers 転送操作 を指定するSPIMaster_Transfer 構造体の配列。 SPIMaster_InitTransfersを呼び出して、配列を入力する前に既定の設定で配列を初期化する必要があります。

  • transferCount 配列内の転送構造体の transfers 数。

戻り値

転送されたバイト数を返します。エラーの場合は -1。この場合 errno はエラー値に設定されます。

発言

SPIMaster_TransferSequentialの各呼び出しは、実際の転送数に関係なく、読み取りには最大 4096 バイト、書き込みには 4096 バイトに制限されます。 追加のデータを転送するには、この関数を複数回呼び出す必要があります。 この場合、チップ選択は複数回アサートされることに注意してください。

アプリケーション マニフェストの要件

個々の SPI インターフェイスにアクセスするには、アプリケーション マニフェストの SpiMaster フィールドでそれらを 識別する必要があります。