数组 – 结构和arduino

我试图使用结构与Arduino,我是一个初学者,我不知道如何在结构中声明一个数组并使用它(int pin [5]和int vecinos [6]).
谢谢!!!
露西亚

typedef struct 
{
  int id;
  int pin[5];
  int tiempoCero;
  int tiempoApagado;
  int estado;
  int vecinos[6];
} zonas;

zonas zona[5];
最佳答案
你的声明没问题.但是,您需要了解Arduino IDE会自动为您生成函数原型.不幸的是,IDE做得很差.它在声明之前将生成的原型排序到顶部.因此,您不能在任何函数定义中使用它们.除非您阻止IDE自动生成原型.

我找到了三种方法来实现这一目标:

>将您的函数放入命名空间,即使在INO文件中也可以完全控制.
>将您的功能移动到包含文件中
>将函数包装到宏中,以便IDE不再将其识别为函数.例如.像TRICK17 macro

对于小文件,我首选的解决方案是#1.那你的草图就是

namespace whatever {
    typedef struct 
    {
      int id;
      int pin[5];
      int tiempoCero;
      int tiempoApagado;
      int estado;
      int vecinos[6];
    } zonas;

    function example(zonas z) {
        ...
    }
}

void setup() { 
    ... 
}
void loop() { 
    whatever::zonas z;
    ...
    whatever::example(z);
}

对于广泛的例子look here.

转载注明原文:数组 – 结构和arduino - 代码日志