arduino 中的子程序
本教程将讨论通过声明函数并在 arduino 的主代码中调用它们来处理子程序。
arduino 中的子程序
在 arduino 中,我们可以声明函数并在主代码中调用它们来处理子程序。代码是逐行执行的,如果我们在一行中调用一个函数,arduino 将在该行停止并移动到该函数的声明处。
它将执行函数中存在的代码,然后移动到主代码中的下一行。
例子:
void setup() {}
void loop() {
// code
sub_1();
// code
}
void sub_1() {
// code
}
当上述代码中的 sub_1()
函数行执行时,编译器将移动到 sub_1()
函数声明并运行其代码。
它将返回主代码并移至下一行。我们可以声明有或没有返回类型的函数。
在上面的代码中,我们使用了 void
关键字,这意味着函数不会返回任何内容,但我们可以更改函数中全局变量的值。
在开始时定义且未被任何函数包围的变量称为全局变量。
让我们定义一个全局变量并使用子程序更改其值。请参阅下面的代码。
int a = 5;
void setup() {}
void loop() {
// code
sub_1();
// code
}
void sub_1() { a = 10; }
在上面的代码中,全局变量 a
的值将在子程序 sub_1()
执行后改变。我们可以在子例程之前和之后打印变量的值来检查它是否工作。
我们还可以定义具有返回类型的函数,当它们被调用时将返回一个值。
要定义具有数据类型的函数,我们必须首先在函数内部写入数据类型、函数名称和要传递的参数。
例如,让我们定义一个函数来查找两个整数的和并将结果作为整数返回。
void setup() {}
void loop() {
int a = 5;
int b = 5;
int c;
c = sub_1(a, b);
// code
}
int sub_1(int x, int y) {
int result = x y;
return result;
}
在上面的代码中,当使用特定输入调用函数 sub_1()
时,它将返回两个输入的总和。
请注意,我们在 sub_1()
函数中传递的变量与我们在 sub_1()
声明中使用的变量不同。不过,我们可以使用相同的变量,因为它们不是全局的。
函数内部定义的变量只能在该函数内部使用和更改。我们可以使用 return
关键字来返回一个值或一个变量。
我们还可以使用其他数据类型来定义字符串、char 和 long 等函数。如果我们不想返回任何值或变量,我们可以使用 void
关键字来定义函数。
当我们想要编写干净的代码或在代码中多次重复任务时,子例程很有帮助。
如果我们想在一个代码中多次执行一项任务,我们必须多次编写代码,但是我们可以创建一个函数并将代码放入其中,并在主代码中随时调用它。
它将减少时间和空间,并使代码简洁明了。
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:c
-
可以通过使用复位按钮,softwarereset 库和 adafruit sleepydog 库来复位 arduino。
发布时间:2024/03/13 浏览次数:181 分类:c
-
可以使用简单的方法 toint()函数和 serial.parseint()函数将 char 转换为 int。
发布时间:2024/03/13 浏览次数:151 分类:c
-
可以使用 arduino 中的循环制作计数器。
arduino printf 函数
发布时间:2024/03/13 浏览次数:223 分类:c
-
通过使用 sprintf()函数和 serial.print()函数,可以获得与 printf()相同的输出。