Help .... Commande de 3 relais

Oui le define sera remplacé tel quel dans le code donc si vous faites un print() de cette valeur c’est un int qui sera mis en paramètre, soit 2 ou 4 octets sur la stack. Si vous avez déclaré un byte, le compilateur voit que c’est une constante sur un octet en ne passera qu’un octet.

Si vous ne faites qu’un pinMode, comme la fonction n’attend qu’un seul octet le compilateur va être smart et ne prendra que la partie basse de l’int de votre define donc la pas de perte de place, comme avec le const byte ou l’optimiseur va injecter directement la valeur dans l’appel de fonction.

D’une manière générale plus vous aidez le compilateur à faire des choix éclairés, plus le code sera optimisé. Il vaut mieux conserver les defines que pour les directives de compilation