Pomocí svého Arduino IDE buď nahraji svoji skicu do Arduina nebo ATTiny nebo ATmega328. Jak víte, každé zařízení může mít jiný pinout. Podporuje kompilátor Arduino ifdef
v závislosti na desce, ke které jsem připojen?
Například
#ifdef Attiny85 a=0; b=1; c=2; #else // arduino a=9; b=10; c=11; #endif
Odpověď
Ano. Zde je syntaxe:
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) //Code here #endif
Něco takového můžete udělat i pro Mega:
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //Code here #endif
Za předpokladu, že implementace pro ATtiny je správná, měl by váš kód vypadat takto:
#if defined (__AVR_ATtiny85__) a=0; b=1; c=2; #else //Arduino a=9; b=10; c=11 #endif
Komentáře
- V
Arduino.h
se používá__AVR_ATtiny85__
(kapitálT
). Nejste si jisti, jestli to má nějaký rozdíl. - Alternativně pomocí 1.5. + IDE můžete otestovat proti typu desky, kterou stavíte. Viz Arduino-IDE-1.5 — Specifikace hardwaru třetí strany . Příklad " #if defined (ARDUINO_AVR_UNO) " nebo ARDUINO_AVR_MEGA2560 nebo ARDUINO_AVR_LEONARDO atd …