【问题标题】:Arduino Linux mint: error: ‘digitalPinToInterrupt’Arduino Linux mint:错误:“digitalPinToInterrupt”
【发布时间】: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软件好像可以解决问题
  • 根据this,您可以只使用密码而不通过宏发送。但是根据this,宏在pins_arduino.h 中定义。无论如何,在最新版本中,这应该是固定的。
  • 我无法安装最新的 Arduino 软件版本,也无法包含 pin_arduino.h,因为它在 github 中不完整:github.com/agdl/Arduino/blob/…

标签: linux-mint arduino-ide


【解决方案1】:

已解决

https://www.arduino.cc/en/Main/Software 上的 Linux 64 位版本 1.8.2 有缺陷。我在http://www.arduino.org/downloads 上找到了另一个。 这个版本也已经包含digitalPinToInterrupt()

【讨论】:

    猜你喜欢
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2014-07-25
    • 2018-09-29
    • 1970-01-01
    • 2019-01-20
    相关资源
    最近更新 更多