Arduino中使用函数可以将程序整合成代码段的形式来执行。什么情况下需要使用函数呢?当在程序中需要多次执行相同的操作时,这些相同的操作就可以整合成函数。使用函数的优点如下:
- 函数能帮助程序员更好的组织代码,也有助于提升程序可读性。
- 函数将一系列代码统一到一起,更利于调试。
- 需要更改代码时,函数可以减少因修改代码而导致程序出错的机会。
- 函数可以多次重复利用,使代码更紧凑更简洁。
定义函数最常用的语法
Arduino程序中需要两个函数,即setup()和loop()。当创建其它函数时,必须在这两个函数的括号之外进行创建。定义函数最常用的语法如下:
函数包含了函数头和函数块,函数头又由类型、名称、参数声明组成;函数块包含声明和语句。
函数声明
在Arduino中,我们可以用两种不同方式来声明函数,第一种方式把要函数头和函数体写到loop()函数之前,示例如下:
int sum_func (int x, int y) // 函数声明 { int z = 0; z = x+y ; return z; // 返回值 } void setup () { 语句 // 语句块 } Void loop () { int result = 0 ; result = Sum_func (5,6) ; // 函数调用 }
在这里我们将sum_func()函数写到了loop()函数之前,参数声明中声明x和y为整型,函数体{}中声明了 sum_func() 函数的执行方法。在loop()函数中进行函数调用时,对x和y的进行赋值。采用这种方法时,参数声明中必须要写参数名称,即x和y。
第二种方式是将函数原型写到loop()函数之前,参数声明中不需要写参数名称,不写函数体,并以“;”结束。然后在loop()函数内对函数进行调用,并定义参数值,最后在loop()函数后再写出包含参数名称的函数头和函数体。下面的例子演示了使用第二种方法声明函数:
int sum_func (int , int ) ; // 函数原型 void setup () { 语句 // 语句块 } Void loop () { int result = 0 ; result = Sum_func (5,6) ; // 函数调用 } int sum_func (int x, int y) // 函数定义 { int z = 0; z = x+y ; return z; // 返回值 }