将值分配给结构

时间:2015-11-08 13:53:30

标签: arduino

我遇到了一个问题,我的代码无法解决。

步骤:

  1. 使用年,月,日和其他信息创建结构。
  2. 通过序列初始化这些值。
  3. 但我得到以下结果 - '数据'未在此范围内声明 - 我不知道是什么问题,我认为是语法问题。

    抱歉,我正在学习使用结构。

    如果有人能帮助我,我感激不尽。我正在使用Arduino。 感谢

    void setup_clock(){
      UtlTime = 0;
      second= 0;
      minut = 0;
      hour = 0;
      int turn = 1;
    
      if (turn == 1){
        int i = 0;
        typedef struct {
        int year;
        int month;
        int day;
        float energy;
        } datas;
        datas data[10];
        turn++;
      }
      Serial.println("Minut: ");
      while(minut== 0){
        if (Serial.available() > 0){
          minut= Serial.parseInt();
        }
      }
      Serial.println("Hour: ");
      while(hour == 0){
        if (Serial.available() > 0){
          hour = Serial.parseInt();
        }
      }
      Serial.println("Month: ");
      while(data[0].month == 0){
        if (Serial.available() > 0){
            data[0].month = Serial.parseInt();
        }
      }
      Serial.println("Year: ");
      while(data[0].year == 0){
        if (Serial.available() > 0){
          data[0].year = Serial.parseInt();
        }
      }
    }
    

1 个答案:

答案 0 :(得分:0)

datas data[10];是一个局部变量,除了if块之外,无法从任何地方访问。在data之后的其他地方定义结构和void setup_clock(){