共用方式為


I2CMaster_Write函數

頁首: #include < applibs/i2c.h>

在 I2C 主介面上執行寫入作業。 此函數所提供的功能與 POSIX 寫入 () 函數相同,但可指定做為作業目標之附屬 I2C 裝置的位址。

ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);

參數

  • fd I2C 主介面的檔案描述。

  • address 做為作業目標的部屬 I2C 裝置 位址

  • data 要傳輸到目標裝置的資料。 如果 length 為 0,此值可以是 Null。

  • length 這是要傳輸的資料大小。 此值可以是 0。

錯誤

如果發生錯誤並設定為 errno 錯誤值,則傳回 -1。

  • EBUSY:介面忙碌中,或是 I2C 線路保持在低位。

  • ENXIO:此作業未從部屬裝置收到 ACK。

  • ETIMEDOUT:作業會在完成之前逾時;您可以呼叫 I2CMaster_SetTimeout 函數來調整逾時持續時間。

您也可以指定任何其他 errno 錯誤;這類錯誤不是不確定的,同樣的行為可能無法透過系統更新來保留。

傳回值

傳回成功撰寫的位元組數目,或是 -1 表示失敗,在這種情況下 errno 會設定為錯誤值。 部分書寫,包括 0 位元組的寫法,視為成功。

應用程式資訊清單需求

若要存取 I2c 介面,您的應用程式必須在 應用程式資訊清單的 I2cMaster 欄位中識別。