草稿碼

在本教程中,你將學習該草稿碼的每個部分如何工作。

草稿碼

草稿碼是 Arduino 和 86Duino 對一個程序的稱呼。它是上傳到 Arduino 或 86Duino 板上並運行的代碼單元。


評論

Blink 草稿碼的前幾行是評論

/*
* Blink
*
* The basic Arduino example.  Turns on an LED on for one second,
* then off for one second, and so on...  We use pin 13 because,
* depending on your Arduino board, it has either a built-in LED
* or a built-in resistor so that you need only an LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/

Arduino / 86Duino 在運行草稿碼時會忽略 /**/ 之間的所有內容(每行開頭的 * 只是為了使評論看起來漂亮,並且不是必需的)。 它是為閱讀代碼的人準備的:解釋程序的作用、它是如何工作的,或者為什麼要這樣寫。 對您的草稿碼進行註釋是一種很好的做法,並在您修改代碼時使註釋保持最新。 這有助於其他人學習或修改您的代碼。

還有另一種樣式用於簡短的單行註釋。 它們以 // 開頭,一直到行尾。 例如,在行中:

int ledPin = 13; // LED connected to digital pin 13

“LED connected to digital pin 13” 是一條註釋。


變數

變數 是用來儲存數據的地方。它有名字、型態和數值。Blink 草稿碼中,有一行宣告變數名稱為 ledPin、型態是 int、初始數值是 13。它用來指示 Arduino / 86Duino 哪一個腳位與 LED 燈相連,在草稿碼中每寫一次 ledPin,它的值就會被取出來使用一次。事實上在這個例子中,不一定要創建一個名為 ledPin 的變數,可以直接寫 13 去指定要使用的腳位。但使用變數的好處是,當你的草稿碼中很多地方使用到 ledPin 的時候,只需要在變數初始化時指派一次新值給 ledPin,就可以快速的把 LED 切換到其他的 pin 腳。

然而,變量的值通常會在草稿碼運行時發生變化。 例如,您可以將從輸入讀取的值存儲到變量中。 變量教程中有更多信息。


Functions

函式(也稱為過程子例程)是一段命名的代碼,可以在草稿碼中的其他地方使用。 例如,這是 Blink 示例中 setup() 函數的定義:

void setup()
{
pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

第一行提供有關該功能的信息,例如其名稱“setup”。 名稱前後的文本指定其返回類型和參數:這些將在後面解釋。 {} 之間的代碼稱為函數的主體:函數的作用。

您可以調用已經定義的函數(在您的草稿碼中或作為 86Duino 語言)。 例如,行 pinMode(ledPin, OUTPUT); 調用 pinMode() 函數,向其傳遞兩個參數:ledPin OUTPUTpinMode() 函數使用這些參數來決定設置哪個引腳和模式。


pinMode()、digitalWrite()、delay()

pinMode() 函數將引腳配置為輸入或輸出。 要使用它,您需要將要配置的引腳編號和常量 INPUTOUTPUT 傳遞給它。 當配置為輸入時,引腳可以像按鈕一樣檢測傳感器的狀態(請參閱 Arduino 教程)。 作為輸出,它可以驅動 LED 等執行器。

digitalWrite() 函數在引腳上輸出一個值。 例如,行:

digitalWrite(ledPin, HIGH);

ledPin(引腳 13)設置為 HIGH,即 5 伏。 將 LOW 寫入引腳將其接地或 0 伏。

delay() 使 86Duino 在繼續下一行之前等待指定的毫秒數。 一秒有 1000 毫秒,所以該行:

delay(1000);

一秒鐘的延遲。


setup() 和 loop()

每個 86Duino 草稿碼都有兩個特殊函數:setup()loop()setup() 在草稿碼開始時被調用一次。 這是執行設置任務(如設置引腳模式或初始化庫)的好地方。 loop() 函數被反複調用,是大多數草稿碼的核心。 你需要在草稿碼中包含這兩個函數,即使你不需要它們做任何事情。


參考


語法參考主頁面

86Duino 參考的文本是根據 Creative Commons Attribution-ShareAlike 3.0 License,部分文本是從 the Arduino reference 修改的。 參考中的代碼示例已發佈到公共領域。

發表評論

上部へスクロール