Jutilise mon IDE Arduino pour télécharger mon croquis sur un Arduino ou ATTiny ou ATmega328. Comme vous le savez, chaque appareil peut avoir un brochage différent. Le compilateur Arduino prend-il en charge ifdef
, selon la carte à laquelle je suis connecté?
Par exemple
#ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif
Réponse
Oui. Voici la syntaxe:
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) //Code here #endif
Vous pouvez également faire quelque chose comme ceci pour le Mega:
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Code here #endif
En supposant que limplémentation pour ATtiny est correcte, votre code devrait être comme ceci:
#if defined (__AVR_ATtiny85__) a=0; b=1; c=2; #else //Arduino a=9; b=10; c=11 #endif
Arduino.h
,__AVR_ATtiny85__
est utilisé (majusculeT
). Je ne sais pas si cela fait une différence.