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