2017-05-09 107 views
0

我想打斷一個簡單的平方電壓和我使用的是常見的程序:Arduino的Linux Mint的:錯誤:「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; 
} 

但是如果我想與Arduino的軟件進行驗證,這是錯誤:

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

我已經嘗試添加庫,其中包括此命令,但我有問題找到它們。 我使用Linux的薄荷和Arduino的軟件版本是:

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 下載所以這是在Linux Mint的包管理器的IDE版本。

我現在的問題是,有人知道在哪裏可以找到包含digitalPinToInterrupt()的庫文件。 在這個版本的IDE中沒有libary manager,所以也許有人知道如何獲得Linuxmint的IDE的更新版本。 謝謝

+0

看看[這裏](https://forum.arduino.cc/index.php?topic=370167.0)你可以試着把pin號碼不帶digitalPinToInterrupt:'attachInterrupt(interruptPin,blink,CHANGE) ;',否則安裝最新的Arduino軟件似乎可以解決問題 –

+0

根據[this](https://forum.arduino.cc/index.php?topic=370167.0),您可以使用該PIN碼而不發送宏。但是根據[this](https://github.com/arduino/Arduino/issues/3929),這個宏在'pins_arduino.h'中定義。無論如何,在最新版本中,這應該是固定的。 –

+0

我無法安裝最新的Arduino軟件版本,我不能包含pins_arduino.h,因爲它在github中不完整:https://github.com/agdl/Arduino/blob/e3351f6fb1717ce167a9c16781cf2c726f3d239e/hardware/arduino/avr/變種/以太網/ pins_arduino.h –

回答