Share via


SPIMaster_Open functie

Header: #include <applibs/spi.h>

Hiermee opent en configureert u een SPI-hoofdinterface voor exclusief gebruik en retourneert een bestandsdescriptor voor gebruik voor volgende aanroepen.

De interface wordt geïnitialiseerd met de standaardinstellingen: SPI_Mode_0, SPI_BitOrder_MsbFirst. U kunt deze instellingen wijzigen met SPI-functies nadat de interface is geopend.

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

Parameters

  • interfaceId De id van de SPI-hoofdinterface die moet worden geopend.

  • chipSelectId De chip selecteert id voor gebruik met de SPI-masterinterface.

  • config De configuratie voor de SPI-hoofdinterface. Voordat u deze functie aanroept, moet u SPIMaster_InitConfig aanroepen om de SPIMaster_Config-struct te initialiseren. U kunt de instellingen wijzigen nadat de struct is geïnitialiseerd. Het config argument bevat alle instellingen die moeten worden geconfigureerd als onderdeel van het openen van de interface en die later niet mogen worden gewijzigd.

Fouten

Retourneert -1 als er een fout optreedt en wordt ingesteld errno op de foutwaarde.

  • EACCES: toegang tot deze SPI-interface is niet toegestaan omdat de interfaceId parameter niet wordt vermeld in het veld SpiMaster van het toepassingsmanifest.

errno Andere fouten kunnen ook worden opgegeven; dergelijke fouten zijn niet deterministisch en hetzelfde gedrag wordt mogelijk niet bewaard via systeemupdates.

Retourwaarde

Retourneert de bestandsdescriptor van de SPI-interface als deze is geopend, of -1 voor een fout, in welk geval errno is ingesteld op de foutwaarde. U kunt deze descriptor gebruiken met standaard read(2) en write(2) functies om transacties uit te voeren met het verbonden apparaat. U kunt ook SPIMaster_TransferSequential gebruiken om een reeks overdrachten uit te voeren.

Vereisten voor toepassingsmanifest

Voor toegang tot afzonderlijke SPI-interfaces moet uw toepassing deze identificeren in het veld SpiMaster van het toepassingsmanifest.