I2CMaster_Write functie
Header: #include <applibs/i2c.h>
Voert een schrijfbewerking uit op een I2C-hoofdinterface. Deze functie biedt dezelfde functionaliteit als de functie POSIX write(), met uitzondering van het adres van het onderliggende I2C-apparaat dat het doel van de bewerking is.
ssize_t I2CMaster_Write(int fd, I2C_DeviceAddress address, const uint8_t *data, size_t length);
Parameters
fd
De bestandsdescriptor voor de I2C-hoofdinterface.address
Het adres van het onderliggende I2C-apparaat dat het doel is voor de bewerking.data
De gegevens die naar het doelapparaat moeten worden verzonden. Deze waarde kan NULL zijn als de lengte 0 is.length
De grootte van de gegevens die moeten worden verzonden. Deze waarde kan 0 zijn.
Fouten
Retourneert -1 als er een fout optreedt en wordt ingesteld errno
op de foutwaarde.
EBUSY: de interface is bezet of de I2C-lijn wordt laag gehouden.
ENXIO: de bewerking heeft geen ACK ontvangen van het onderliggende apparaat.
ETIMEDOUT: er is een time-out opgetreden voordat de bewerking werd voltooid; u kunt de functie I2CMaster_SetTimeout aanroepen om de time-outduur aan te passen.
errno
Andere fouten kunnen ook worden opgegeven; dergelijke fouten zijn niet deterministisch en hetzelfde gedrag wordt mogelijk niet bewaard via systeemupdates.
Retourwaarde
Retourneert het aantal bytes dat is geschreven, of -1 voor fout, in welk geval errno
wordt ingesteld op de foutwaarde. Een gedeeltelijke schrijfbewerking, inclusief een schrijfbewerking van 0 bytes, wordt als geslaagd beschouwd.
Vereisten voor toepassingsmanifest
Voor toegang tot een I2c-interface moet uw toepassing deze identificeren in het veld I2cMaster van het toepassingsmanifest.