Arduino IDE #ifdef (한국어)

저는 Arduino IDE를 사용하여 스케치를 Arduino 또는 ATTiny 또는 ATmega328에 업로드합니다. 아시다시피 각 장치는 다른 핀아웃을 가질 수 있습니다. Arduino 컴파일러는 연결된 보드에 따라 ifdef를 지원합니까?

예 :

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

답변

예. 구문은 다음과 같습니다.

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

메가에서도 다음과 같은 작업을 수행 할 수 있습니다.

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

ATtiny 구현이 올바르다 고 가정하면 코드는 다음과 같아야합니다.

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

댓글

  • Arduino.h에서는 __AVR_ATtiny85__가 사용됩니다 (대문자 T). 차이가 있는지 확실하지 않습니다.
  • 또는 1.5. + IDE를 사용하여 빌드중인 보드 유형에 대해 테스트 할 수 있습니다. Arduino-IDE-1.5 — 3rd-party-Hardware-specification 을 참조하세요. 예 " #if defined (ARDUINO_AVR_UNO) " 또는 ARDUINO_AVR_MEGA2560 또는 ARDUINO_AVR_LEONARDO 등 …

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다