Функция 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 манифеста приложения.