Compartir a través de


Función SPIMaster_Open

Encabezado: #include <applibs/spi.h>

Abre y configura una interfaz maestra SPI para uso exclusivo, y devuelve un descriptor de archivo que se usará para las llamadas posteriores.

La interfaz se inicializa con los valores predeterminados: SPI_Mode_0, SPI_BitOrder_MsbFirst. Puede cambiar estas configuraciones con funciones SPI después de abrir la interfaz.

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

Parámetros

  • interfaceId El ID de la interfaz maestra SPI para abrir.

  • chipSelectId El chip seleccione id. para utilizar con la interfaz maestra SPI.

  • config La configuración para la interfaz maestra SPI. Antes de llamar a esta función, debe llamar a SPIMaster_InitConfig para inicializar el SPIMaster_Config struct. Puede cambiar la configuración después de inicializar la estructura. El config argumento contiene todas las opciones de configuración que deben configurarse como parte de la apertura de la interfaz y que no se pueden cambiar posteriormente.

Errores

Devuelve -1 si se encuentra un error y se establece errno en el valor de error.

  • EACCES: no se permite el acceso a esta interfaz SPI porque el interfaceId parámetro no está enumerado en el campo SpiMaster del manifiesto de la aplicación.

También se pueden especificar otros errno errores; estos errores no son deterministas y es posible que no se conserve el mismo comportamiento a través de las actualizaciones del sistema.

Valor devuelto

Devuelve el descriptor de archivo de la interfaz SPI si se abrió correctamente, o -1 en caso de error, en cuyo caso errno se establece en el valor de error. Puede usar este descriptor con funciones y write(2) estándar read(2) para realizar transacciones con el dispositivo conectado. También puede usar SPIMaster_TransferSequential para ejecutar una secuencia de transferencias.

Requisitos del manifiesto de la aplicación

Para acceder a interfaces SPI individuales, la aplicación debe identificarlas en el campo SpiMaster del manifiesto de la aplicación.