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


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