arduino IDE 主函数入口在哪?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arduino IDE 主函数入口在哪?相关的知识,希望对你有一定的参考价值。

这个问题困扰我有段时间了。。请各位大佬帮忙解答
我们知道arduino IDE中只有两个函数setup、loop函数,setup函数只执行一次,loop函数是无限循环。
现在我自己定义了一个函数,如果不在setup和loop函数中出现的话,我自己定义的这个函数什么时候被调用呢?也是无限循环吗?各个函数之间是什么关系?他们是怎么被调用的?求各位大佬解答,感激不尽


两种方法:

    在Arduino IDE里,第三个tab-Sketch下面-Import library-Add library,指定到你的XXX.zip库文件

    解压你的zip文件,放到C:\\Users\\Administrator\\Documents\\Arduino\\libraries里面。(对win7用户,实际上就是windows用户-我的文档-Arduino-Libraries文件夹下。

另:要注意你的库文件与所用Arduino IDE版本之间的兼容问题。




参考技术A 入口就是main函数,你进去avr文件夹里面就可以看到是怎么进去main的

Arduino IDE不允许在函数外部使用struct变量

我正在尝试创建struct类型的变量,这些变量在主循环和Arduino脚本中的所有其他函数中可用。

我做了一个简单的结构:

struct IDENTITY
{
    int identifier;
    bool is_alive;
}

该结构位于主要的ino文件中;在函数loopsetup以及我可能使用的所有其他函数之前在顶部声明。

我确实尝试了一个简单的初始化函数,因为当我试图在脚本的顶部实例化一个结构IDENTITY(通常你放置全局变量,但在结构声明之后),我会得到一个未定义类型的错误。

void initialize()
{
    struct IDENTITY testguy;

    testguy.identifier = 1;
    testguy.is_alive = true;
}

这个函数在struct定义之下,当我编译时,它不会给我错误。我从initialize()打电话给setup(),它运作正常。

现在我想用testguy;虽然因为它处于不同的函数中,但它被创建为局部变量,其范围仅限于创建的函数,因此我无法从loop或任何其他函数访问这些变量。

虽然我不能在函数之外的任何地方创建IDENTITY类型的变量;所以我不确定如何处理这个问题。在使用C ++的Visual Studio中,我没有创建结构实例的问题,所以我认为它是C和Arduino IDE的问题?

答案
struct IDENTITY {
  int identifier;
  bool is_alive;
};

IDENTITY testguy = { 256, true };

void setup() {
  testguy.identifier=6;
  testguy.is_alive=false;
}

void loop() {
}

对我有用......

以上是关于arduino IDE 主函数入口在哪?的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中,主函数是编程的入口点,我如何将其更改为其他函数?

c++主函数如何调用"WinMain"函数

如何编写java主函数

Arduino如何处理中断?

java 主函数

Arduino中的setup()和loop()函数