Arduino IDE #ifdef (Magyar)

Arduino IDE-m segítségével a vázlatomat feltöltöm Arduino-ba, vagy ATTiny-be, vagy ATmega328-ba. Mint tudják, minden eszköznek lehet más és más csatlakozója. Támogatja-e az Arduino fordító a ifdef t, attól a táblától függően, amelyhez csatlakozom?

Például

#ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif 

Válasz

Igen. Itt van a szintaxis:

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) //Code here #endif 

Ilyeneket is megtehet a Megához:

#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Code here #endif 

Ha feltételezzük, hogy az ATtiny megvalósítása helyes, akkor a kódjának a következőnek kell lennie:

#if defined (__AVR_ATtiny85__) a=0; b=1; c=2; #else //Arduino a=9; b=10; c=11 #endif 

Megjegyzések

  • A Arduino.h mezőben __AVR_ATtiny85__ szerepel (nagybetűs T). Nem biztos benne, hogy van-e valami különbség.
  • az 1.5. + IDE alternatívájaként tesztelheti az épített tábla típusát. Lásd: Arduino-IDE-1.5 — harmadik fél hardver-specifikációja . Példa " #if definiált (ARDUINO_AVR_UNO) " vagy ARDUINO_AVR_MEGA2560 vagy ARDUINO_AVR_LEONARDO stb …

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük