Поделиться через


Функция SPIMaster_TransferSequential

Заголовок: #include <applibs/spi.h>

Выполняет последовательность полудуплексных операций чтения или записи с помощью интерфейса SPI master. Эта функция позволяет выбрать микросхему один раз перед последовательностью и отключает ее по завершении. Эта функция не поддерживает одновременное чтение и запись при одной передаче.

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

Параметры

  • fdДескриптор файла для интерфейса SPI master.

  • transfers Массив SPIMaster_Transfer структур, определяющих операции передачи. Перед заполнением массива необходимо вызвать SPIMaster_InitTransfers , чтобы инициализировать массив с параметрами по умолчанию.

  • transferCount Количество структур передачи в массиве transfers .

Возвращаемое значение

Возвращает количество переданных байтов; или -1 для сбоя, в этом случае errno устанавливается значение ошибки.

Замечания

Каждый вызов SPIMaster_TransferSequential ограничен не более 4096 байтами для чтения и 4096 байтами для записи, независимо от количества фактических передач. Для передачи дополнительных данных необходимо вызвать эту функцию несколько раз. Обратите внимание, что выбор микросхемы будет утверждаться несколько раз в этом случае.

Требования к манифесту приложения

Чтобы получить доступ к отдельным интерфейсам SPI, приложение должно идентифицировать их в поле SpiMaster манифеста приложения.