gpt4 book ai didi

arrays - 结构和Arduino

转载 作者:行者123 更新时间:2023-12-02 08:06:14 25 4
gpt4 key购买 nike

我正在尝试在 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 会自动为您生成函数原型(prototype)。不幸的是,IDE 的表现很差。它将生成的原型(prototype)排序到声明之前的顶部。因此您不能在任何函数定义中使用它们。除非您阻止 IDE 自动生成原型(prototype)。

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

  1. 将您的函数放入命名空间中,即使在 INO 文件中,您也可以获得完全控制。
  2. 将函数移至包含文件中
  3. 将函数包装到宏中,这样 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.

关于arrays - 结构和Arduino,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19308071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com