#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

Attention : pas de ; après #define !

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