funkce I2CMaster_Write
Záhlaví: #include <applibs/i2c.h>
Provede operaci zápisu na hlavním rozhraní I2C. Tato funkce poskytuje stejné funkce jako funkce POSIX write() s tím rozdílem, že určuje adresu podřízeného zařízení I2C, které je cílem operace.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Parametry
fd
Popisovač souboru pro hlavní rozhraní I2C.address
Adresa podřízeného zařízení I2C, které je cílem operace.data
Data, která se mají přenést do cílového zařízení. Tato hodnota může mít hodnotu NULL, pokud je délka 0.length
Velikost přenášených dat Tato hodnota může být 0.
Chyby
Vrátí hodnotu -1, pokud dojde k chybě, a nastaví errno
se na chybovou hodnotu.
EBUSY: Rozhraní je zaneprázdněno nebo je řádek I2C přidržován nízko.
ENXIO: Operace neobdržela ACK z podřízeného zařízení.
ETIMEDOUT: časový limit operace vypršel před dokončením; můžete voláním funkce I2CMaster_SetTimeout upravit dobu časového limitu.
Je také možné zadat všechny ostatní errno
chyby. Tyto chyby nejsou deterministické a stejné chování nemusí být zachováno prostřednictvím aktualizací systému.
Vrácená hodnota
Vrátí počet bajtů, které byly úspěšně zapsány, nebo -1 pro selhání. V tomto případě errno
se nastaví na chybovou hodnotu. Částečný zápis, včetně zápisu 0 bajtů, se považuje za úspěšný.
Požadavky manifestu aplikace
Pokud chcete získat přístup k rozhraní I2c, vaše aplikace ho musí identifikovat v poli I2cMaster manifestu aplikace.