Функция SPIMaster_WriteThenRead
Заголовок: #include <applibs/spi.h>
Выполняет последовательность полудуплексных операций записи, за которой сразу же следует полудуплексное чтение с помощью интерфейса SPI master. Эта функция позволяет выбрать микросхему один раз перед последовательностью и отключает ее по завершении.
static inline ssize_t SPIMaster_WriteThenRead(int fd, const uint8_t *writeData, size_t lenWriteData, uint8_t *readData, size_t lenReadData);
Параметры
fd
Дескриптор файла для интерфейса SPI master.writeData
Данные для записи.lenWriteData
Число байтов для записи.readData
Выходной буфер, получающий данные. Этот буфер должен быть достаточно большим, чтобы получать доlenReadData
байтов.lenReadData
Число считываемых байтов.
Возвращаемое значение
Возвращает количество переданных байтов; или -1 для сбоя, в этом случае errno
устанавливается значение ошибки.
Замечания
Каждый вызов SPIMaster_WriteThenRead ограничен 4096 байтами для чтения и 4096 байтами для записи. Для передачи дополнительных данных необходимо вызвать эту функцию несколько раз. Обратите внимание, что выбор микросхемы будет утверждаться несколько раз в этом случае.
Требования к манифесту приложения
Чтобы получить доступ к отдельным интерфейсам SPI, приложение должно идентифицировать их в поле SpiMaster манифеста приложения.