Delen via


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.