Partager via


Utilisation de GPIOs dans des applications compatibles en temps réel

Azure Sphere prend en charge les GPIO (entrée/sortie à usage général). Un GPIO est un type de broche numérique programmable sur un circuit intégré. Les GPIOs n’ont pas de fonctionnalités prédéfinies et leur comportement peut être personnalisé par une application. Certaines utilisations courantes des GPIOs sont de modifier l’état des périphériques matériels, de contrôler les VOYANTs et de lire l’état des commutateurs.

Cette rubrique explique comment utiliser les GPIO dans une application compatible en temps réel (RTApp). Pour plus d’informations sur l’utilisation de GPIOs dans des applications de haut niveau, consultez Utilisation de GPIOs dans les applications de haut niveau.

Une application en temps réel peut utiliser n’importe quel GPIO sur l’appareil Azure Sphere. Les opérations suivantes sont prises en charge pour GPIO :

  • Entrée en lecture
  • Définir la sortie sur haut ou faible
  • Interruptions du logiciel de sondage

Note

Le système d’exploitation Azure Sphere ne réinitialise pas les périphériques au démarrage. Vos applications doivent s’assurer que les périphériques sont dans un état correct connu au démarrage et après le redémarrage.

Prise en charge de MT3620 pour les GPIOs sur les cœurs en temps réel

Sur le MT3620, la plupart des GPIO sont mappés à des cœurs en temps réel dans des blocs de quatre, en commençant par GPIO 0 ; toutefois, les blocs ISU 0 - 4 ont cinq GPIOs. Par conséquent, les requêtes GPIO RTApp peuvent échouer si une application de haut niveau (ou une autre rtApp) demande un GPIO dans le même bloc. Par exemple, si une application de haut niveau demande GPIO 8 et qu’une application RTApp demande GPIO 9, la deuxième application retourne une erreur lors du déploiement.

Chaque LED de la RDB MT3620 est mappée à trois GPIOs : un pour les canaux rouge, vert et bleu.

Pour connaître les adresses de base d’inscription, les numéros d’interruption, la fréquence d’horloge, la fréquence d’échantillonnage et d’autres détails sur le MT3620, consultez la feuille de données MT3620 et le manuel de l’utilisateur MT3620 M4. Si des questions subsistent, vous pouvez demander des détails à Avnet en envoyant un e-mail à Azure.Sphere@avnet.com.

Configuration requise pour GPIO

Votre code d’application a besoin d’un moyen d’identifier le GPIO et ses registres. Vous trouverez l’adresse de base du registre dans la documentation matérielle du fabricant. Avant que votre application en temps réel puisse utiliser un GPIO, elle doit initialiser les blocs qu’elle va utiliser. L’initialisation n’est requise qu’une seule fois pour chaque bloc utilisé par l’application.

Pour plus d’informations sur le MT3620, consultez Prise en charge de MT3620 pour les GPIOs sur les cœurs en temps réel.

Paramètres du manifeste d’application

Pour utiliser un GPIO, une application en temps réel doit la répertorier dans la section Fonctionnalités du manifeste de l’application. Identifiez le GPIO à l’aide de la valeur « AppManifestValue » qui est définie pour elle dans le fichier JSON du matériel cible. Par exemple, la ligne suivante réserve les GPIOs 8 et 12 :

"Capabilities": {
 "Gpio": [ 8, 12 ]
}

Exemple d’application GPIO

L’exemple GPIO montre comment utiliser des GPIOs dans une application en temps réel. Les fichiers LISEZ-MOI fournissent des détails et des instructions.