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 欄位中識別。