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
interfaceId
ID de l’interface spi master à ouvrir.chipSelectId
ID de sélection de puce à utiliser avec l’interface spi master.config
Configuration 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’argumentconfig
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.