次の方法で共有


SPIMaster_WriteThenRead関数

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

SPI マスター インターフェイスを使用して、半二重書き込みのシーケンスを直ちに実行し、その直後に半二重読み取りを実行します。 この機能により、シーケンスの前にチップ選択が 1 回有効になり、終了時に無効になります。

static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);

パラメーター

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

  • writeData 書き込むデータ。

  • lenWriteData 書き込むバイト数。

  • readData データを受信する出力バッファー。 このバッファーは、最大バイトを受け取るのに十分な大きさにする lenReadData 必要があります。

  • lenReadData 読み取るバイト数。

戻り値

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

発言

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

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

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