2017-05-09 185 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 –

回答