📜  Arduino函数

📅  最后修改于: 2020-12-27 03:15:56             🧑  作者: Mango

Arduino功能

这些功能允许程序员将特定的代码划分为多个部分,每个部分执行特定的任务。创建功能是为了在程序中多次执行任务。

该函数是一种过程,它返回从中调用代码的区域。

例如,要在代码中多次重复执行任务,我们可以在每次执行任务时使用同一组语句。

使用功能的优点

让我们讨论一下在编程中使用函数的一些优点,下面列出了这些优点:

  • 它提高了代码的可读性。
  • 它构思并组织了程序。
  • 它减少了出错的机会。
  • 它使程序紧凑小巧。
  • 它避免了重复的语句或代码集。
  • 它使我们能够将复杂的代码或程序分为一个简单的代码或程序。
  • 借助程序中的功能,修改变得更加容易。

Arduino具有两个常用功能setup()loop(),它们会在后台自动调用。要执行的代码写在这些函数中的花括号内。

void setup() -它包括代码的初始部分,该部分仅执行一次。它称为准备块

void loop() -它包含重复执行的语句。这称为执行块

但是有时候,我们需要编写自己的函数。

让我们开始编写函数。

功能声明

声明函数的方法如下:

  • 函数返回类型

我们需要一个函数的返回类型。例如,我们可以将函数的返回值存储在变量中。

我们可以使用任何数据类型作为返回类型,例如float,char等。

  • 功能名称

它由为函数指定的名称组成。它代表函数的真实主体。

  • 功能参数

它包括传递给函数的参数。参数定义为特殊变量,用于将数据传递给函数。

该函数后面必须加上括号()分号;

传递给函数的实际数据称为参数。

让我们通过一些例子来理解。

范例1:

考虑下图:

示例2:在这里,我们将添加两个数字。

考虑下面的代码:

void setup()
{
  Serial.begin(9600);
}
void loop() {
  int a = 5; // initialization of values to the variables a and b
  int b = 4;
  int c;
  c = myAddfunction(a, b); // c will now contains the value 9
  Serial.println(c); // to print the resulted value
  delay(1000); // time delay of 1 second or 1000 milliseconds
}
int myAddfunction(int i, int j) 
{
  int sum;
  sum = i + j;
  return sum;
}

同样,我们可以使用以上概念执行算术运算。

范例3:

在这里,我们将创建一个确定数字是偶数还是奇数的函数。

考虑下面的代码。

int a= 0;
int b;
void setup()
{
  Serial.begin(9600);
}
void loop() 
{
b = Evenfunction(a); // we can store the function return value in variable b
  Serial.print(a);
  Serial.print(" : "); // to separate even or odd text
  if (b==1)
  {
    Serial.println( " Number is even");
  }
    else
    {
      Serial.println("Number is odd");
    }
                     
      a++; // the function will increment and will again run
                     delay(1000);
}
                  
 int Evenfunction(int d)
                       {
                       if (d% 2==0)
                       {
                         return 1;
                       }
                       else
                       {
                         return 0;
                       }
                     }

输出:

输出如下所示:

等等…