2017-05-09 5 views
0

나는 간단한 제곱 전압을 중단하고 싶어하고 나는 일반적인 프로그램 사용했다 : 나는 아두 이노 소프트웨어와 함께 그것을 확인하려는 경우아두 이노 리눅스 민트 : 오류 : 'digitalPinToInterrupt은'

const byte ledPin = 13; 
const byte interruptPin = 2; 
volatile byte state = LOW; 

void setup() { 
    pinMode(ledPin, OUTPUT); 
    pinMode(interruptPin, INPUT_PULLUP); 
    attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE); 
} 

void loop() { 
    digitalWrite(ledPin, state); 
} 

void blink() { 
    state = !state; 
} 

그러나, 이것은이다 오류 :

interrupt.ino: In function ‘void setup()’: 
interrupt.ino:11:53: error: ‘digitalPinToInterrupt’ was not declared in this scope 

이미이 명령을 포함하는 라이브러리를 추가하려고했지만 문제가 발생했습니다.

arduino: 
    Installed: 2:1.0.5+dfsg2-4 
    Candidate: 2:1.0.5+dfsg2-4 
    Version table: 
*** 2:1.0.5+dfsg2-4 500 

그리고 나는 그래서이 리눅스 민트의 패키지 관리자의 버전입니다 https://www.arduino.cc 에서 다운로드 한 IDE를 설치할 수 없습니다 : 나는 리눅스 민트와 아두 이노 소프트웨어 버전을 사용하는 것입니다.

제 질문은 digitalPinToInterrupt()가 포함 된 라이브러리를 어디에서 찾을 수 있는지 아는 사람이 있습니까? 이 IDE 버전에는 libary 관리자가 없으므로 아마도 Linuxmint 용 IDE의 새로운 버전을 얻는 방법을 알고있을 것입니다. 는

+0

보십시오 [여기] (https://forum.arduino.cc/index.php?topic=370167.0) digitalPinToInterrupt없이 핀 번호 만 입력하면됩니다 :'attachInterrupt (interruptPin, blink, CHANGE) ;, 그렇지 않으면 최신 Arduino 소프트웨어를 설치하면 문제가 해결되는 것 같습니다 –

+0

[this] (https://forum.arduino.cc/index.php?topic=370167.0)에 따르면 핀 번호를 보내지 않고 사용할 수 있습니다 매크로. 그러나 [this] (https://github.com/arduino/Arduino/issues/3929)에 따르면 매크로는'pins_arduino.h '에 정의되어 있습니다. 어쨌든 최신 버전에서는이 문제가 수정되어야합니다. –

+0

최신 Arduino 소프트웨어 버전을 설치할 수 없으며 pins_arduino.h가 github에서 완전하지 않기 때문에 include 할 수 없습니다 : https://github.com/agdl/Arduino/blob/e3351f6fb1717ce167a9c16781cf2c726f3d239e/hardware/arduino/avr/ 변종/ethernet/pins_arduino.h –

답변