arduino中有多个选项卡/文件?
我看了这么多,但还没有找到一个好的教程,涵盖所有这些。 因此,我需要将项目分解为多个tabs/ino文件,以使其更加清晰 因此,在您打开一个新选项卡后,我想问几个问题:arduino中有多个选项卡/文件?,arduino,Arduino,我看了这么多,但还没有找到一个好的教程,涵盖所有这些。 因此,我需要将项目分解为多个tabs/ino文件,以使其更加清晰 因此,在您打开一个新选项卡后,我想问几个问题: 如果主项目文件,比如说main,有另外两个选项卡,比如说A和B,那么B中的每个函数对main和A都是可见的 中断会发生什么?如果我在文件A中定义了一些中断,它能调用main文件中的中断功能吗 使用定义会发生什么?而包括?如果文件A包含一些库,比如说Wire,那么main文件是否也会看到它,反之亦然 使用文件的策略是什么?您是将所
main
,有另外两个选项卡,比如说A
和B
,那么B中的每个函数对main
和A
都是可见的A
中定义了一些中断,它能调用main
文件中的中断功能吗定义会发生什么?而包括
?如果文件A
包含一些库,比如说Wire
,那么main
文件是否也会看到它,反之亦然
使用文件的策略是什么?您是将所有库添加到主文件中,还是也应将它们添加到其他文件中?(例如,处理gyro的文件必须包含一些库)您可能已经注意到每个.ino文件必须包含在一个同名文件夹中。然后,此文件夹中包含的每个其他.ino文件都被视为“额外选项卡” 据我所知,编译时,.ino文件被合并,就像它们是一个文件一样。例如,这是由于在同一文件夹中的不同.ino文件中有
设置
(或循环
,或其他任何内容)而导致惊人的“重新定义void setup()”错误的原因
从“”:
多文件草图
草图可以包含多个文件(选项卡)。要管理它们,请单击环境顶部滚动条正上方的向右箭头。选项卡有四个扩展名之一:无扩展名、.c、.cpp或.h(如果提供任何其他扩展名,句点将转换为下划线)
编译草图时,所有不带扩展名的选项卡连接在一起,形成“主草图文件”。扩展名为.c或.cpp的选项卡是单独编译的。要使用扩展名为.h的制表符,您需要#包含它(不使用“双引号”)
虽然它提到了“没有扩展名的文件”,但我相信它也适用于扩展名为
.ino
的文件。我总是很难将Arduino IDE用于多个源文件。我倾向于使用这样的东西,它可以让您更好地控制Arduino项目的构建过程
.ino
文件中interrupt\u handler()
函数A
或B
删除#include
,则主文件仍将包含依赖项。由于标头包含保护,文件将不会包含两次李>
中断处理程序
#include <avr/interrupt.h>
#include "A.h"
/* Declare our ISR */
ISR(interrupt_vector)
{
/* Call our handler (located in A) */
interrupt_handler();
}
#包括
#包括“A.h”
/*申报我们的ISR*/
ISR(中断向量)
{
/*呼叫我们的处理程序(位于A)*/
中断处理程序();
}
定义工作的方式是,他们只是在预处理器中定义一些令牌。他们与额外的文件没有任何关系。#include work的方式是他们将文件直接导入到您的代码中,就好像您在那里编写了它而不是编写了#include。非常感谢!我不确定我抓到你了。假设我需要一个名为a的文件,用于某些特定的陀螺仪操作。我是否需要为它创建一个.ino文件和一个.h文件及其函数,然后将其包含到主文件中?关于ISR,我是否可以在一台计算机上收听中断呼叫?另外,关于包含线-底线是,我需要把这包括在A和B等?很抱歉有很多问题,我只是无法在你的答案中排序。再次感谢。如果陀螺仪源文件不包含main()方法,我将把它放在.c文件而不是.ino文件中。然后在.h文件中声明函数,并在.c文件中编写实现。然后在主源文件中包含.h文件。我不明白你所说的“听电话中断”是什么意思。在每个需要Wire.h的源文件中包含Wire.h。所以,如果A和B使用导线,请将其包含在A和B中。如果A和main需要导线,请将其包含在A和main中,etcok非常感谢。现在我对何时使用c文件和何时使用.ino文件有点困惑,但是谢谢。