Dela via


funktionen SPIMaster_WriteThenRead

Sidhuvud: #include <applibs/spi.h>

Utför en sekvens av en halv-dubbelsidig skrivning omedelbart följt av en halv-dubbelsidig läsning med HJÄLP av SPI-mastergränssnittet. Den här funktionen aktiverar kretsmarkering en gång före sekvensen och inaktiverar den när den slutar.

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

Parametrar

  • fd Filbeskrivning för SPI-huvudgränssnittet.

  • writeData De data som ska skrivas.

  • lenWriteData Antalet byte som ska skrivas.

  • readData Utdatabufferten som tar emot data. Bufferten måste vara tillräckligt stor för att få upp till lenReadData byte.

  • lenReadData Antalet byte som ska läsas.

Returvärde

Returnerar antalet överförda byte. eller -1 för fel, i vilket fall errno är inställt på felvärdet.

Anmärkningar

Varje samtal till SPIMaster_WriteThenRead är begränsat till högst 4 096 byte att läsa och 4 096 byte att skriva. Om du vill överföra ytterligare data måste du anropa den här funktionen flera gånger. Observera att markmarkering kommer att hävdas flera gånger i det här fallet.

Krav för programmanifest

För åtkomst till enskilda SPI-gränssnitt måste programmet identifiera dem i fältet SpiMaster i programmanifestet.