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


Функция SPIMaster_Open

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

Открывает и настраивает интерфейс SPI master для монопольного использования и возвращает дескриптор файла для последующих вызовов.

Интерфейс инициализируется с параметрами по умолчанию: SPI_Mode_0, SPI_BitOrder_MsbFirst. Эти параметры можно изменить с помощью функций SPI после открытия интерфейса.

static inline int SPIMaster_Open(SPI_InterfaceId interfaceId, SPI_ChipSelectId chipSelectId, const SPIMaster_Config *config);

Параметры

  • interfaceIdИдентификатор открываемого интерфейса SPI master.

  • chipSelectIdВыбор идентификатора микросхемы для использования с интерфейсом SPI master.

  • configКонфигурация интерфейса SPI master. Перед вызовом этой функции необходимо вызвать SPIMaster_InitConfig для инициализации структуры SPIMaster_Config . Вы можете изменить параметры после инициализации структуры. Аргумент config содержит все параметры, которые необходимо настроить при открытии интерфейса и которые впоследствии не могут быть изменены.

Ошибки

Возвращает значение -1 при обнаружении ошибки и задает errno значение ошибки.

  • EACCES: доступ к этому интерфейсу SPI не разрешен, так как interfaceId параметр не указан в поле SpiMaster манифеста приложения.

Можно также указать любой другой errno . Такие ошибки не являются детерминированными, и такое же поведение может не сохраняться при обновлении системы.

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

Возвращает дескриптор файла интерфейса SPI, если он был успешно открыт, или значение -1 для сбоя. В этом случае errno задается значение ошибки. Этот дескриптор можно использовать со стандартными read(2) функциями и write(2) для выполнения транзакций с подключенным устройством. Вы также можете использовать SPIMaster_TransferSequential для выполнения последовательности передачи.

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

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