Créer une bibliothèque de fonctions
Modification d'un programme mono-fichier
Ajout d'un fichier « header »
Création du fichier
Déplacement des constantes
Inclusion du « header » dans le programme principal
Ajout de fonctions
Déplacement de la premier fonction
Création du fichier Led.ino
Mise à jour du fichier d'entête
Deuxième fonction
Test
On se propose de montrer comment on peut passer d'un programme écrit dans un seul fichier à un projet comportant plusieurs fichiers. L'intérêt de cette transformation est une meilleur réutilisabilité des fonctions. Voici le programme de départ :
void setup() {
pinMode(PORT_LED,OUTPUT)
}
void loop() {
digitalWrite(PORT_LED, HIGH);
delay(DUREE_ALLUME);
digitalWrite(PORT_LED, LOW);
delay(DUREE_ETEINT);
}
Un header, ou entête, est un fichier d'extension .h
qu'on va inclure dans le programme principal à l'aide de la directive #include.
Un header peut avoir plusieurs rôles :
rassembler les constantes permettant le paramétrage du programme principal ou d'une fonction,
lister les déclarations de fonctions, qui seront incluses dans le programme principal et, à ce titre, constituer le premier élément d'une b « bibliothèque » de fonctions
On commence par effectuer un couper/coller des constantes du programme principal vers le fichier d'entête.
Il faut maintenant indiquer au programme principal le fichier header à inclure.
Nous allons ensuite créer deux fonctions pour allumer et éteindre la diode
Comme précédemment pour les constantes, nous déplaçons la fonction du programme principal vers un nouveau fichier Led.ino
que nous allons créer dans la foulée.
Ce fichier contiendra la définition des fonctions de commande de la diode.
Il ne faut pas oublier de déclarer les fonctions dans le fichier Led.h
Nous allons procéder de la même manière pour la seconde fonction qui permet d'éteindre la diode.
Il ne reste qu'à lancer la simulation pour vérifier le bon fonctionnement.