I2CMaster_Write関数
ヘッダー: applibs </i2c.h #include>
I2C マスター インターフェイスに対して書き込み操作を実行します。 この関数は POSIX write() 関数と同じ機能を提供しますが、操作のターゲットである下位 I2C デバイスのアドレスを指定する点が異なっています。
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
パラメーター
fd
I2C マスター インターフェイスのファイル記述子。address
操作のターゲットである下位 I2C デバイスの アドレス 。data
ターゲット デバイスに送信するデータ。 長さが 0 の場合、この値は NULL にすることができます。length
送信するデータのサイズ。 この値は 0 にすることができます。
エラー
エラーが発生した場合は -1 を返し、エラー値に設定します errno
。
EBUSY: インターフェイスがビジーであるか、I2C 回線が低く保持されています。
ENXIO: 操作が下位デバイスから ACK を受信しませんでした。
ETIMEDOUT: 操作が完了する前にタイムアウトしました。 I2CMaster_SetTimeout 関数を呼び出してタイムアウト時間を調整できます。
その他 errno
のエラーも指定できます。このようなエラーは決定的ではなく、同じ動作はシステム更新によって保持されない可能性があります。
戻り値
正常に書き込まれたバイト数を返します。エラーの場合は -1 を返します。この場合 errno
はエラー値に設定されます。 0 バイトの書き込みを含む部分的な書き込みは成功と見なされます。
アプリケーション マニフェストの要件
I2c インターフェイスにアクセスするには、アプリケーション マニフェストの I2cMaster フィールドで 識別する必要があります。