Tp 4 jmour mohamed saidani weal indp2 b

COMPTE-RENDU TP Initiation aux interruptions INDP -B Realisé par Saidani Wael Jmour Mohamed CTP Initiation aux interruptions Objectif Manipuler les API destinées aux GPIO Gérer les interruptions Con ?gurer le NVIC Principe Une interruption matérielle en anglais InterruptReQuest ou IRQ est une interruption déclenchée par un périphérique d'entrée-sortie d'un microprocesseur ou d'un microcontrôleur Les interruptions matérielles sont utilisées en informatique lorsqu ? il est nécessaire de réagir en temps réel à un événement asynchrone ou bien de manière plus générale a ?n d ? économiser le temps d ? exécution lié à une boucle de consultation polling loop Les étapes d ? une interruption sont résumées par la ?gure suivante Une interruption peut être activée d ? une manière asynchrone au déroulement du programme principal Ici symbolisée par un éclair jaune sur la ?gure Après sauvegarde de contexte le processeur passe en mode exception et exécute la fonction qui correspond à l ? exception activée une interruption est une exception Le processeur récupère l ? adresse de la fonction handler ? à partir du vector table ? qui contient les adresses des fonctions qui gèrent toutes les exceptions software et matérielles C Une fois l ? interruption est servie il y a restauration de contexte Retour au programme principal Le processeur Cortex ARM contient un composant nommé NestedVectoredInterrupt Controller NVIC ? Il supporte jusqu ? à interruptions Il o ?re niveaux de priorités programmables de à avec la priorité la plus faible Les priorités sont hiérarchisées en deux groupes Un premier groupe de priorité de à De la même manière chacun de ces groupes contient un sousgroupe de priorité de à Le NVIC est sensible aux niveaux de tensions et aux di ?érents fronts montant ou descendant Le travail demandé dans ce TP permettra de tester une solution avec polling pour commander une diode LED avec un bouton utilisateur puis avec une solution basée sur une interruption hardware Dans la troisième partie le NVIC sera programmé pour donner deux priorités di ?érentes au bouton utilisateur et au system tickhandler ? responsable d ? incrémenter le system tickcounter ? chaque ms C Création d ? un projet Suivre les mêmes étapes du TP initiation aux GPIO pour créer un projet Sélectionner sous le menu Project ?- Manage ?- Run-Time Environment ? sélectionner LED API ? et Button API ? et il est important de préciser la board STM F Discovery ? voir ?gure suivante Cliquer sur Resolve ? et cocher Classic ? sous STM Cube Framework API ? puis sur OK ? Suivre les mêmes étapes du TP initiation aux GPIO pour ajouter les dossiers sources ? et headers ? ajouter les ?chiers main c ? main h ? stm f xxit c ? et stm f xxit h ? C Cliquer sur l ? icône options for target ? ensuite sur l ? onglet Debug ? a ?n de con ?gurer les options de la carte cible sur laquelle le programme sera exécuté Cette fenêtre fait appara? tre deux options

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager