Partage via


SPIMaster_Open, fonction

En-tête : #include <applibs/spi.h>

Ouvre et configure une interface spi master pour une utilisation exclusive et retourne un descripteur de fichier à utiliser pour les appels suivants.

L’interface est initialisée avec les paramètres par défaut : SPI_Mode_0, SPI_BitOrder_MsbFirst. Vous pouvez modifier ces paramètres avec les fonctions SPI une fois l’interface ouverte.

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

Paramètres

  • interfaceIdID de l’interface spi master à ouvrir.

  • chipSelectIdID de sélection de puce à utiliser avec l’interface spi master.

  • configConfiguration de l’interface master SPI. Avant d’appeler cette fonction, vous devez appeler SPIMaster_InitConfig pour initialiser le struct SPIMaster_Config . Vous pouvez modifier les paramètres une fois le struct initialisé. L’argument config contient tous les paramètres qui doivent être configurés dans le cadre de l’ouverture de l’interface et qui ne peuvent pas être modifiés par la suite.

Erreurs

Retourne -1 si une erreur est rencontrée et définit errno sur la valeur d’erreur.

  • EACCES : l’accès à cette interface SPI n’est pas autorisé, car le interfaceId paramètre n’est pas répertorié dans le champ SpiMaster du manifeste de l’application.

Toutes les autres errno peuvent également être spécifiées ; ces erreurs ne sont pas déterministes et le même comportement peut ne pas être conservé par le biais des mises à jour système.

Valeur de retour

Retourne le descripteur de fichier de l’interface SPI s’il a été ouvert avec succès, ou -1 en cas d’échec, auquel cas errno est défini sur la valeur d’erreur. Vous pouvez utiliser ce descripteur avec les fonctions standard read(2) et write(2) pour effectuer des transactions avec l’appareil connecté. Vous pouvez également utiliser SPIMaster_TransferSequential pour exécuter une séquence de transferts.

Exigences du manifeste d’application

Pour accéder à des interfaces SPI individuelles, votre application doit les identifier dans le champ SpiMaster du manifeste de l’application.