【发布时间】:2017-05-09 10:55:11
【问题描述】:
我想中断一个简单的平方电压,我正在使用一个通用程序:
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 mint,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 下载的 IDE 所以这是 Linux mint 中包管理器的版本。
我现在的问题是,有人知道在哪里可以找到包含 digitalPinToInterrupt() 的库。 这个版本的 IDE 中没有库管理器,所以也许有人知道如何为 Linuxmint 获取更新版本的 IDE。 谢谢
【问题讨论】:
-
看看here你可以试试只放pin号不带digitalPinToInterrupt:
attachInterrupt(interruptPin, blink, CHANGE);,不然安装最新的Arduino软件好像可以解决问题 -
我无法安装最新的 Arduino 软件版本,也无法包含 pin_arduino.h,因为它在 github 中不完整:github.com/agdl/Arduino/blob/…