Arduino IDE #ifdef (Suomi)

Käytän Arduino IDE: täni joko luonnoksen lataamiseen Arduinoon tai ATTinyyn tai ATmega328: een. Kuten tiedät, jokaisella laitteella voi olla erilainen pinout. Tukeeko Arduino-kääntäjä ifdef riippuen piirilevystä, johon olen yhteydessä?

Esimerkiksi

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

Vastaa

Kyllä. Tässä on syntaksi:

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

Voit myös tehdä jotain tällaista Megalle:

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

Olettaen, että ATtiny: n toteutus on oikea, koodisi tulisi olla seuraava:

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

Kommentit

  • Kohdassa Arduino.h käytetään __AVR_ATtiny85__ (isot kirjaimet T). Etkö ole varma, onko sillä mitään eroa.
  • Vaihtoehtoisesti käyttämällä 1.5. + IDE: tä voit testata rakentamaasi levytyyppiä. Katso Arduino-IDE-1.5 — kolmannen osapuolen laitteistomääritys . Esimerkki " # jos määritelty (ARDUINO_AVR_UNO) " tai ARDUINO_AVR_MEGA2560 tai ARDUINO_AVR_LEONARDO jne …

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *