Share via


SPIMaster_WriteThenRead functie

Header: #include <applibs/spi.h>

Voert een reeks half-duplex schrijfbewerkingen onmiddellijk gevolgd door een half-duplex leesbewerking uit met behulp van de SPI-hoofdinterface. Met deze functie kunt u chipselectie één keer vóór de reeks inschakelen en deze uitschakelen wanneer deze afloopt.

static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);

Parameters

  • fd De bestandsdescriptor voor de SPI-hoofdinterface.

  • writeData De gegevens die moeten worden geschreven.

  • lenWriteData Het aantal bytes dat moet worden geschreven.

  • readData De uitvoerbuffer die de gegevens ontvangt. Deze buffer moet groot genoeg zijn om maximaal bytes te lenReadData ontvangen.

  • lenReadData Het aantal bytes dat moet worden gelezen.

Retourwaarde

Retourneert het aantal overgedragen bytes; of -1 voor fout, in welk geval errno is ingesteld op de foutwaarde.

Opmerkingen

Elke aanroep naar SPIMaster_WriteThenRead is beperkt tot maximaal 4096 bytes om te lezen en 4096 bytes om te schrijven. Als u aanvullende gegevens wilt overdragen, moet u deze functie meerdere keren aanroepen. Houd er rekening mee dat chipselectie in dit geval meerdere keren wordt bevestigd.

Vereisten voor toepassingsmanifest

Voor toegang tot afzonderlijke SPI-interfaces moet uw toepassing deze identificeren in het veld SpiMaster van het toepassingsmanifest.