Référence du Langage Arduino : Mini | Standard | Etendue | Librairies | Comparaison

Define


Description

L'instruction #define est un élément très utile du langage C qui permet au programmeur de donner un nom à une constante avant que le programme soit compilé (pour info : en C, les instructions précédés du # sont des instructions utilisées par le pré-compilateur). Les constantes ainsi définie dans le langage Arduino ne prennent aucune place supplémentaire en mémoire dans le microcontrôleur. Le compilateur remplacera les références à ces constantes par la valeur définie au moment de la compilation.

Ceci peut cependant avoir quelques effets indésirables, si par exemple, un nom de constante qui a été défini par #define est inclus dans d'autres constantes ou nom de variable. Dans ce cas, le texte de ces constantes ou de ces variables sera remplacé par la valeur définie avec #define.

D'une manière générale, le mot clé const est préférable pour définir les constantes et doit être utilisé plutôt que #défine.

Syntaxe

L'instruction Arduino #define a la même syntaxe que le #define du langage C :

#define constantName value

Noter que le signe # est nécessaire. En langage C, les instructions précédées par # sont des instructions utilisées par le pré-compilateur.

Exemple

#define ledPin 3
// Le compilateur remplacera tout texte ledPin avec la valeur 3 au moment de la compilation

Conseils

  • Il n'y a pas de point-virgule après l'instruction #define (il en est de même pour toutes les instructions de pré-compilation débutant par #). Si vous en incluez un, le compilateur vous donnera des messages d'erreur énigmatiques dans la console du logiciel Arduino lors de la compilation.
#define ledPin 3;    // ceci est une erreur - ne pas mettre de ;
  • De la même façon, inclure un signe égal après l'instruction #define vous donnera des messages d'erreur énigmatiques dans la console du logiciel Arduino lors de la compilation.
#define ledPin  = 3  // ceci est également une erreur

Voir également :

Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino.

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.