Udostępnij za pośrednictwem


Funkcja SPIMaster_TransferSequential

Nagłówek: #include <applibs/spi.h>

Wykonuje sekwencję transferów odczytu lub zapisu półdupleksowego przy użyciu interfejsu głównego SPI. Ta funkcja umożliwia zaznaczanie mikroukładu raz przed sekwencją i wyłącza ją po jej zakończeniu. Ta funkcja nie obsługuje jednoczesnego czytania i pisania w jednym transferze.

static inline ssize_t SPIMaster_TransferSequential(int fd, const SPIMaster_Transfer *transfers, size_t transferCount);

Parametry

  • fd Deskryptor pliku interfejsu głównego SPI.

  • transfers Tablica struktur SPIMaster_Transfer określających operacje transferu. Należy wywołać SPIMaster_InitTransfers , aby zainicjować tablicę z ustawieniami domyślnymi przed jej wypełnieniem.

  • transferCount Liczba struktur transferu w tablicy transfers .

Zwracana wartość

Zwraca liczbę przesyłanych bajtów. lub -1 dla niepowodzenia, w którym to przypadku errno jest ustawiona wartość błędu.

Uwagi

Każde wywołanie SPIMaster_TransferSequential jest ograniczone do co najwyżej 4096 bajtów do odczytu, a 4096 bajtów do zapisu, niezależnie od liczby rzeczywistych transferów. Aby przenieść dodatkowe dane, należy wywołać tę funkcję wiele razy. Pamiętaj, że w tym przypadku wybór mikroukładu będzie wielokrotnie potwierdzany.

Wymagania dotyczące manifestu aplikacji

Aby uzyskać dostęp do poszczególnych interfejsów SPI, aplikacja musi zidentyfikować je w polu SpiMaster manifestu aplikacji.