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; // 返回值 }