Bonjour à tous,
Nouveau en programmation sur arduino (mais programmeur en C), je croise régulièrement ce genre d'écriture dans des exemples:
(extrait de cette page)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 const byte TRIGGER_PIN = 2; const byte ECHO_PIN = 3; const unsigned long MEASURE_TIMEOUT = 25000UL; const float SOUND_SPEED = 340.0 / 1000;
Mais y-a-t-il une raison pour définir / déclarer des variables (qui sont const) plutôt que d'utiliser #define:
J'ai bien lu quelque part qu'il valait mieux des variables que des #define, car les #define pouvaient déjà se trouver dans une librairie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #define TRIGGER_PIN 2 #define ECHO_PIN 3 #define MEASURE_TIMEOUT 25000UL #define SOUND_SPEED (340.0 / 1000) // la division peut rester, le précompilateur fera le calcul. Mais on s'en moque, le précompilateur nous avertira de toute façon (à moins que je me plante complètement) puisque les libs (si j'ai bien compris) sont compilées en même temps que le code utilisateur. Et si les libs sont précompilées, les #define qui pouvaient s'y trouver n'existent plus.
De même, y-a-t-il une raison pour ne pas employer des variables locales (lorsque c'est possible) plutôt que des globales ?
Et aussi, est-ce une erreur d'écrire
à la place de
Code : Sélectionner tout - Visualiser dans une fenêtre à part for(int i=0; ....; ....)
D'avance merci pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int i; .... for(i=0; i....; ....)
Edgar;
Partager