Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

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 ou à l'adresse suivante : support_at_mon-club-elec_point_fr

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-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.