Sdílet prostřednictvím


SPIMaster_WriteThenRead funkce

Hlavička: #include <applibs/spi.h>

Provede sekvenci poloduplexních zápisů okamžitě následovaných poloduplexním čtením pomocí hlavního rozhraní SPI. Tato funkce povolí výběr čipů jednou před sekvencí a po jeho ukončení ho zakáže.

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

Parametry

  • fd Popisovač souboru pro hlavní rozhraní SPI.

  • writeData Data, která se mají zapsat.

  • lenWriteData Počet bajtů, které se mají zapsat.

  • readData Výstupní vyrovnávací paměť, která přijímá data. Tato vyrovnávací paměť musí být dostatečně velká, aby přijímala až lenReadData bajty.

  • lenReadData Počet bajtů, které se mají přečíst.

Vrácená hodnota

Vrátí počet přenesených bajtů. nebo -1 pro selhání, v tomto případě errno je nastavena na chybovou hodnotu.

Poznámky

Každé volání SPIMaster_WriteThenRead je omezeno na maximálně 4096 bajtů pro čtení a 4096 bajtů pro zápis. Pokud chcete přenést další data, musíte tuto funkci volat vícekrát. Mějte na paměti, že v tomto případě se výběr čipů prohlásí několikrát.

Požadavky manifestu aplikace

Pro přístup k jednotlivým rozhraním SPI je vaše aplikace musí identifikovat v poli SpiMaster manifestu aplikace.