我正在使用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";。