Comment faire en sous-routines arduino

Rédaction d'une bibliothèque pour Arduino

Ce document explique comment créer une bibliothèque pour Arduino. Il commence par un croquis pour flasher le code Morse et explique comment convertir ses fonctions dans une bibliothèque. Cela permet à d'autres personnes d'utiliser facilement le code que vous avez écrit et de mettre à jour facilement que vous améliorez la bibliothèque.







Pour plus d'informations, consultez l'API Style Guide des informations sur faire une bonne API de style Arduino pour votre bibliothèque.

Nous commençons par un croquis qui fait simple, le code Morse:

void setup # 40; # 41;
# 123;
pinMode # 40; épingle. SORTIE # 41; ;
# 125;

void loop # 40; # 41;
# 123;
point # 40; # 41; ; point # 40; # 41; ; point # 40; # 41; ;
tiret # 40; # 41; ; tiret # 40; # 41; ; tiret # 40; # 41; ;
point # 40; # 41; ; point # 40; # 41; ; point # 40; # 41; ;
retard # 40; 3000 # 41; ;
# 125;

dot vide # 40; # 41;
# 123;
digitalWrite # 40; épingle. HAUTE # 41; ;
retard # 40; 250 # 41; ;
digitalWrite # 40; épingle. FAIBLE # 41; ;
retard # 40; 250 # 41; ;
# 125;

tableau de bord vide # 40; # 41;
# 123;
digitalWrite # 40; épingle. HAUTE # 41; ;
retard # 40; 1000 # 41; ;
digitalWrite # 40; épingle. FAIBLE # 41; ;
retard # 40; 250 # 41; ;
# 125;

Si vous exécutez cette esquisse, il clignote le code SOS (un appel de détresse) sur la broche 13.







Le croquis a quelques pièces différentes que nous devons apporter dans notre bibliothèque. Tout d'abord, bien sûr, nous avons les fonctions point () et le tiret () qui font le clignotement réel. En second lieu, il y a la variable ledPin que les fonctions utilisent pour déterminer goupille à utiliser. Enfin, il y a l'appel à pinMode () qui initialise la broche comme sortie.

Commençons tourner le croquis dans une bibliothèque!

Vous avez besoin d'au moins deux fichiers pour une bibliothèque: un fichier d'en-tête (w / l'extension .h) et le fichier source (w / extension de cpp). Le fichier d'en-tête contient des définitions pour la bibliothèque: essentiellement une liste de tout ce qui est à l'intérieur; tandis que le fichier source a le code réel. Nous allons appeler notre bibliothèque « Morse », de sorte que notre fichier d'en-tête sera Morse.h. Jetons un coup d'oeil à ce qui se passe en elle. Il peut sembler un peu étrange au début, mais il aura plus de sens une fois que vous voyez le fichier source qui va avec.

Le noyau du fichier d'en-tête se compose d'une ligne pour chaque fonction dans la bibliothèque, enveloppé dans une classe avec toutes les variables dont vous avez besoin:

Morse classe
# 123;
public.
Morse # 40; broches int # 41; ;
dot vide # 40; # 41; ;
tableau de bord vide # 40; # 41; ;
privé.
int _pin;
# 125; ;

Une classe est simplement une collection de fonctions et de variables qui sont tous maintenus ensemble dans un seul endroit. Ces fonctions et variables peuvent être publiques. ce qui signifie qu'ils sont accessibles par des personnes à l'aide de votre bibliothèque, ou privée. ce qui signifie qu'ils ne sont accessibles à partir de la classe elle-même. Chaque classe a une fonction spéciale appelée un constructeur. qui est utilisé pour créer une instance de la classe. Le constructeur a le même nom que la classe, et aucun type de retour.

Vous avez besoin d'un couple d'autres choses dans le fichier d'en-tête. La première est une déclaration #include qui vous donne accès aux types standard et constantes du langage Arduino (ceci est automatiquement ajouté à des esquisses normales, mais pas aux bibliothèques). Il ressemble à ceci (et passe au-dessus de la définition de la classe donnée précédemment):

Enfin, il est courant d'envelopper l'en-tête tout fichier dans une construction bizarre,:







Articles Liés