首页 > 解决方案 > 在'{'令牌arduino led之前预期的不合格ID

问题描述

我查看了以前的帖子,但找不到我的问题的答案,这是我的代码:

    const int buttonPin3 = 4;   
    const int ledPin3 =  11;      

    int buttonState3 = 0;        

    {
      pinMode(ledPin3, OUTPUT);
      pinMode(buttonPin3, INPUT);
    }

    {
      buttonState3 = digitalRead(buttonPin3);


      if (buttonState3 == HIGH) {

        digitalWrite(ledPin3, HIGH);
      } else {

        digitalWrite(ledPin3, LOW);
      }
    } 

这不是我的所有代码,而只是在错误出现之前buttonState3 = digitalRead(buttonPin3);出现的部分,{这是错误显示给我的地方。

标签: arduinoarduino-ide

解决方案


在 Arduino 领域,您一般需要提供一个setup在程序启动时调用一次的loop函数,以及一个在程序运行时连续调用的函数。

您的代码似乎缺少实际的函数声明部分,而是选择了文件级别的代码块,这会导致确切的错误:

testprog.cpp:6:5: error: expected unqualified-id before ‘{’ token
     {
     ^

您需要以下内容才能编译它:

const int buttonPin3 = 4;
const int ledPin3 =  11;

int buttonState3 = 0;

void setup() {                               // << note here
    pinMode(ledPin3, OUTPUT);
    pinMode(buttonPin3, INPUT);
}

void loop() {                                // << and here
    buttonState3 = digitalRead(buttonPin3);
    if (buttonState3 == HIGH) {
        digitalWrite(ledPin3, HIGH);
    } else {
        digitalWrite(ledPin3, LOW);
    }
}

推荐阅读