Freigeben über


SPIMaster_Open-Funktion

Header: #include <applibs/spi.h>

Öffnet und konfiguriert eine SPI-master-Schnittstelle für die exklusive Verwendung und gibt einen Dateideskriptor zurück, der für nachfolgende Aufrufe verwendet werden soll.

Die -Schnittstelle wird mit den Standardeinstellungen initialisiert: SPI_Mode_0, SPI_BitOrder_MsbFirst. Sie können diese Einstellungen mit SPI-Funktionen ändern, nachdem die Schnittstelle geöffnet wurde.

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

Parameter

  • interfaceIdDie ID der zu öffnenden SPI-master Schnittstelle.

  • chipSelectIdDer Chip wählt die ID aus, die mit der SPI-master-Schnittstelle verwendet werden soll.

  • configDie Konfiguration für die SPI-master-Schnittstelle. Bevor Sie diese Funktion aufrufen, müssen Sie SPIMaster_InitConfig aufrufen, um die SPIMaster_Config Struktur zu initialisieren. Sie können die Einstellungen ändern, nachdem die Struktur initialisiert wurde. Das config Argument enthält alle Einstellungen, die im Rahmen des Öffnens der Schnittstelle konfiguriert werden müssen und die danach möglicherweise nicht mehr geändert werden.

Fehler

Gibt -1 zurück, wenn ein Fehler auftritt, und legt auf den Fehlerwert fest errno .

  • EACCES: Der Zugriff auf diese SPI-Schnittstelle ist nicht zulässig, da der interfaceId Parameter nicht im Feld SpiMaster des Anwendungsmanifests aufgeführt ist.

Auch andere errno Fehler können angegeben werden. Solche Fehler sind nicht deterministisch, und dasselbe Verhalten wird möglicherweise nicht durch Systemupdates beibehalten.

Rückgabewert

Gibt den Dateideskriptor der SPI-Schnittstelle zurück, wenn sie erfolgreich geöffnet wurde, oder -1 bei Einem Fehler. In diesem Fall errno wird auf den Fehlerwert festgelegt. Sie können diesen Deskriptor mit Standard read(2) - und write(2) -Funktionen verwenden, um Transaktionen mit dem verbundenen Gerät durchzuführen. Sie können auch SPIMaster_TransferSequential verwenden, um eine Sequenz von Übertragungen auszuführen.

Anforderungen an das Anwendungsmanifest

Für den Zugriff auf einzelne SPI-Schnittstellen muss Ihre Anwendung diese im Feld SpiMaster des Anwendungsmanifests identifizieren.