Uso il mio IDE Arduino per caricare il mio sketch su Arduino o ATTiny o ATmega328. Come sai ogni dispositivo può avere un pinout diverso. Il compilatore Arduino supporta ifdef
, a seconda della scheda a cui sono connesso?
Ad esempio
#ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif
Risposta
Sì. Ecco la sintassi:
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) //Code here #endif
Puoi anche fare qualcosa di simile per Mega:
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Code here #endif
Supponendo che limplementazione di ATtiny sia corretta, il codice dovrebbe essere così:
#if defined (__AVR_ATtiny85__) a=0; b=1; c=2; #else //Arduino a=9; b=10; c=11 #endif
Arduino.h
, viene utilizzato__AVR_ATtiny85__
(maiuscoloT
). Non sono sicuro che faccia differenza.