如何检测Adafruit NRF52840上的按钮按下



我正在使用Feather Express NRF52840,并试图使用预先设置的用户按钮。

阅读引脚说:

为您的项目提供了一个触觉开关,它连接到P1.02,在Arduino中以D7和CircuitPython中以switch的代码访问。

我正在使用示例代码来读取按钮的状态更改。

我遇到的问题是,当我在原始代码中使用D7而不是A1时,代码将无法编译。我得到的错误是:

sketch_nov04a:1:23: error: 'D7' was not declared in this scope; did you mean 'A7'?
1 | const int buttonPin = D7;   // the number of the pushbutton pin
|                       ^~
|                       A7
exit status 1
'D7' was not declared in this scope; did you mean 'A7'?

我考虑使用A7,认为错误消息可能是正确的,但读取引脚时,AREF(A7/P0.31(已经在使用中。

我错过了什么?

const int buttonPin = D7;   // the number of the pushbutton pin
int buttonState;            // the current reading from the input pin
int lastButtonState = HIGH; // the previous reading from the input pin
void setup() {
Serial.begin(115200);
delay(100);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
Serial.println("I ATE THE PIE!!");
}
}

尝试:

const int buttonPin = 7;

可能有定义A0等的宏,但据我所知,没有定义D0等的宏。;对于那些只使用数字而不使用";D";。

相关内容

  • 没有找到相关文章

最新更新