Freigeben über


SPIMaster_WriteThenRead-Funktion

Header: #include <applibs/spi.h>

Führt eine Sequenz von Halbduplexschreibvorgängen aus, gefolgt von einem Halbduplexlesevorgang mithilfe der SPI-master-Schnittstelle. Diese Funktion aktiviert die Chipauswahl einmal vor der Sequenz und deaktiviert sie, wenn sie endet.

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

Parameter

  • fdDer Dateideskriptor für die SPI-master-Schnittstelle.

  • writeData Die zu schreibenden Daten.

  • lenWriteData Die Anzahl der zu schreibenden Bytes.

  • readData Der Ausgabepuffer, der die Daten empfängt. Dieser Puffer muss groß genug sein, um bis zu Bytes zu lenReadData empfangen.

  • lenReadData Die Anzahl der zu lesenden Bytes.

Rückgabewert

Gibt die Anzahl der übertragenen Bytes zurück. oder -1 für Fehler, in diesem Fall errno wird auf den Fehlerwert festgelegt.

Bemerkungen

Jeder Aufruf von SPIMaster_WriteThenRead ist auf maximal 4.096 Bytes zum Lesen und auf 4.096 Bytes zum Schreiben beschränkt. Um zusätzliche Daten zu übertragen, müssen Sie diese Funktion mehrmals aufrufen. Beachten Sie, dass die Chipauswahl in diesem Fall mehrmals bestätigt wird.

Anforderungen an das Anwendungsmanifest

Für den Zugriff auf einzelne SPI-Schnittstellen muss Ihre Anwendung diese im Feld SpiMaster des Anwendungsmanifests identifizieren.