Préambule

Je fais ce préambule pour donner des informations en plus concernant la programmation.

Tout d'abord, pour compiler un nouveau projet, il faut au minimum trois fichiers. Le fichier qui contient le corps du projet (le .adb, qui sera le main.adb assez vite dans les projets). Le fichier « Makefile » qui contient les instructions de compilation (pour la commande « make » dans la console), les instructions de nettoyage (la commande « make clean ») qui supprime les fichiers et dossier issue de la compilation et les instructions de téléversement (la commande « make upload ») qui indique quel fichier il doit envoyé au micro-contrôleur avec le bon nombre de baud, la bonne cible... Le dernier fichier est le fichier .gpr (pour gnat projet file) qui contient toutes les informations pour le compilateur, comme pour un projet réalisé avec gnat gps.

Le compilateur gnat repose sur le gcc, étant donné que les interruptions n'ont pas été gérées par le compilateur gnat, nous devons nous appuyer sur le gcc. Ouais, je sais, c'est moche. Mais on n'a pas la choix. Voici un exemple de programmation d'une interruption :

   -- Traitement de l'interruption du WatchDog
   procedure WatchDog_Interrupt;

   pragma Machine_Attribute (Entity         => WatchDog_Interrupt,
                             Attribute_Name => "signal");
   pragma Export (C, WatchDog_Interrupt, MCU.Sig_WDT_String);

   procedure WatchDog_Interrupt is
   begin
      AVR.Interrupts.Disable;
      -- Changement d'état de la LED
      niveauLed := not niveauLed;
      digitalWrite(D13,niveauLed);
      AVR.Interrupts.Enable;
   end WatchDog_Interrupt;

 

Je programme en Ada mais je ne suis pas dieu, je peux donc faire quelques fautes, merci de les dire (que ce soit de programmation ou de français). La partie commentaire est là pour ça notamment !

Bonne lecture !

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site